使用VS2005做效能分析
下面通过一个简单的例子来讲解VS2005是如何做效能分析的。
1、编写一个排序程序
程序代码如下(采用冒泡排序算法):
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication19
{
class Program
{
static void Main(string[] args)
{
int[] a = new int[] {22,21,20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
Program sh = new Program();
sh .Sort (a );//调用排序方法
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine("排序结果是:" + a[i]);
}
}
public void Sort(int[] a)//编写一从小到大排序方法
{
int j = 0;
while (j < a.Length)
{
int temp = 0;
for (int i = 0; i < a.Length - j - 1; i++)
{
if (a[i] > a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
j++;
}
}
}
}
2、新建效能分析(共计3步)
在工具栏上选择:工具->性能工具->性能向导,将弹出如下图对话框(从对话框中可以看到此效能分析可以分析.exe,.dll,ASP.NET应用程序。)
第一步:选择分析的应用程序,如下图
第二步:指定分析方法,如下图
第三步:设置完成
3、运行效能分析(运行前可以对其进行一些属性方面的设置)
4、分析效能报告
从《性能报告摘要》(还有一些更详细的报告)里可以看出Sort在数组a下所消耗的时间为:0.493352ms(耗时不长,可以接受,哈哈…),耗时最长的为WriteLine,时间为:3.674825ms。同时我们也可以从《函数》报告中查看到Sort被调用的次数等信息。当然我们可以对不同的算法(希尔排序、交换排序等)进行比较,以便得出在相同的数据情况下,哪种算发效率较高。
总结:
通过以上例子,我们可以使用VS2005自带的工具对程序员自己编写的代码进行效能测试,如果发现某个函数或者方法之类的耗时比较长,我们则可以对其进行代码优化,这样在编码阶段我们就实现了将性能提升一个档次,这样在做负载测试的时候我们就可以主要精力放到编码以外的地方了!!!