快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

U乐国际官网_使用System.Diagnostics.Stopwatch对程序的运行时间精确地测量



先容

每个应用System.DiagnostU乐国际官网ics命名空间下的Stopwatch类做机能优化的人迟早会碰到一些麻烦。每小我都可以看到了,在同一台电脑相同功能的测试在运行光阴U乐国际官网上会有25% -30%不合。本文先容若何应用StopwaU乐国际官网tch类设计单线程测试法度榜样得到0.1% - 0.2%准确性。有了这个精度,算法才可以进行测试和对照。

背景

今世CPU有多个内核,大年夜容量高速缓存,指令管道和许多其他的器械影响特定测试场景一个算法的运行光阴。白盒测试技巧-如附加的调试器或者阐发器-关闭CPU的高速缓存线路,管道等。真正的运行光阴是暗藏的,这样这些今世U乐国际官网超标量处置惩罚器优化的谋略措施履行速率要比应用阐发器的没有优化的还要慢(因为更多的指令)。黑盒测试没有附加的调试器或阐发器(运行光阴丈量),能发明算法的实际机能,并完成了算法的机能阐发。U乐国际官网

设置测试规划

最紧张的是防止CPU内核或处置惩罚器之间的切换。对机能测试有很大年夜的影响。这可以经由过程设置进程的ProcessorAffinity来实现:

Process.GetCurrentProcess().ProcessorAffinity = new IntPtr(2); // Use only the second core

您可能还会对下面的文章感兴趣: