我试着用C++测量我的代码执行情况.但那不是很准确.这是我的代码:
std::clock_t start2;
start2 = std::clock();
myFunction();
printf("time of execution: %d ms\r\n",std::clock()-start2);
Run Code Online (Sandbox Code Playgroud)
但是不准确足够的执行时间低于10毫秒,但结果是10毫秒或0毫秒,这是不稳定的.
所以我在寻找更准确的解决方案.有什么建议吗?
您可以使用std::chrono::high_resolution_clock标准<chrono>标头:它应该代表实现可用的最准确的时钟.
例:
#include <iostream>
#include <chrono>
int main()
{
typedef std::chrono::high_resolution_clock Clock;
auto t1 = Clock::now();
MyFunction();
auto t2 = Clock::now();
std::cout <<std::chrono::duration_cast<std::chrono::nanoseconds>(t2 - t1).count() << '\n';
}
Run Code Online (Sandbox Code Playgroud)
笔记:
boost::chrono是一个非常好(非常接近)的选择.| 归档时间: |
|
| 查看次数: |
1132 次 |
| 最近记录: |