Ben*_*ins 6 .net c# windows performance benchmarking
我需要在Windows中对.NET程序(C#)做一些性能基准测试,但我还没有在Windows世界中做过很多基准测试.我已经研究过使用带有自定义计数器的Windows 2000/XP性能监视器,但我认为这不是我想要的.
在Windows XP中是否有适用于此的良好系统设施,或者我是否需要使用System.Diagnostics.Stopwatch [编辑]并编写文本日志以进行手动解释,或者还有其他什么?
编辑:除此之外还有什么System.Diagnostics.Stopwatch?
using System.Diagnostics;
....
Stopwatch sw = new Stopwatch();
sw.Start();
// Code you want to time...
// Note: for averaged accuracy (without other OS effects),
// run timed code multiple times in a loop
// and then divide by the number of runs.
sw.Stop();
Console.WriteLine("Took " + sw.ElapsedTicks + " Ticks");
Run Code Online (Sandbox Code Playgroud)
对于微基准测试,我非常喜欢MeasureIt(可以从http://msdn.microsoft.com/en-us/magazine/cc500596.aspx下载).这是由CLR的性能架构师Vance Morrison编写的测试项目.它目前为许多.Net/CLR核心方法提供了一套很好的基准.最好的部分是,无论你想测试什么,调整和添加新基准都是微不足道的.只需运行"MeasureIt/edit",它就会自动启动VS项目,以便您可以查看这些基准测试的编写方式,并以类似的方式添加新的基准测试.
正如已经说明的那样,StopWatch可能是最简单的方法,而MeasureIt使用下面的StopWatch作为其时间,但它也做了一些其他的事情,比如运行一段代码X次,然后为运行提供统计数据,而不是.