我正在尝试对一段代码进行基准测试。这段代码是基于此代码编写的,其中有趣的部分基本上是这样的:
auto t0 = std::chrono::high_resolution_clock::now();
...
auto t1 = std::chrono::high_resolution_clock::now();
std::cout << secs(t1-t0).count() << " s\n";
问题在于我使用的是共享机器,这导致我的结果不具有一致性。我真正需要的是一种秒表工具,它可以让我获得我的代码运行的时间,而不是墙上的时间。有哪些选项?如果涉及到系统特定调用,我使用的是Linux机器,但如果可能的话,我更愿意保持这段代码的可移植性。
我看过其他问题,例如这个和这个,但它们似乎都提供墙上时间的解决方案。
main
函数中,编译后通过time
运行它吗?(不是衡量小段代码的最佳方法,但因为你使用秒,我认为这应该足够好了) - user123