【发布时间】:2013-03-10 16:37:18
【问题描述】:
我需要以尽可能高的精度来衡量我的代码的性能。
目前我正在使用:
- 秒表测量时间
- 设置进程亲和性以始终使用相同的 CPU 内核
- 将线程优先级设置为最大值
- 测量前进行预热运行
- 运行测试 1000 次并计算平均值
但是,基准运行之间仍然存在差异(最大约 1%)。任何想法如何使这种测量更精确?
【问题讨论】:
-
这听起来可能有点刻薄,但是:编写自己的操作系统,不能同时运行 200 个其他进程?严重的是,任何其他运行过程都会影响您的基准测试的结果。仅仅 1000 次运行,1% 的差异真的那么大吗? =)
-
真的,不用担心非实时操作系统上的 1% 差异!
标签: c# .net benchmarking performance-testing