我正在使用 C# 在 .NET Framework 4.5 上运行
我希望测量代码性能,但有额外的复杂性,我想在机器(不同的硬件)之间进行比较。
核心目标之一是提出比较算法的基准(算法 X 与使用数据集 Z 的算法 Y),如果我始终使用相同的硬件,这很好,但我也希望可以选择将这些性能测试分布在许多机器-它们大多不同。
如何有效地衡量特定机器的性能?
我目前正在使用 System.Diagnostics.StopWatch 类与斐波那契套件混合,试图测量机器可以处理多少序列以使用 X 滴答/毫秒。但是,您可能已经知道这种技术不是很精确。
Stopwatch.Frequency 中的答案是什么?
有人有更好的建议吗?
附加信息 -----
示例:比较非多线程的算法(核心数量无关紧要)就像运行顺序扫描和使用红/黑树之间的区别一样。