我正在为个人项目编写C#算法,并希望测试算法的性能。就像一百万次迭代e.t.c.需要多少钱一样。我在Visual Studio 2017上编程,在MacBook Pro上的VirtualBox中运行。
我很确定如果我在VirtualBox中进行性能测试,那么数字永远不会是正确的。
我无法访问Windows机器..因此要求..
我还想过创建一个Windows AWS实例并在那里测试性能,但不确定它会有多准确..请告知..
答案 0 :(得分:0)
在VM中对代码进行基准测试是绝对正确的,因为基准测试是相对结果。您可以对代码进行基准测试,进行代码改进并再次对其进行基准测试,以确定是否有性能改进(或者如果您已经实现了性能改进)更差)。如果您希望将算法与其他实现进行基准测试,则只需对同一VM中的算法进行基准测试。
基准测试只能告诉你,有一件事比另一件更好,而不是一件事是否好。
话虽这么说,你根本不需要使用虚拟机。 .Net Core works on macOS并且有good benchmarking libraries for .Net Core.