提升返回的CPU时间为0

时间:2017-03-20 21:03:37

标签: c++ boost cpu-time

我试图测量C ++程序中函数的CPU时间。我正在使用boost库执行此操作。当我运行我的程序但是得到0秒的结果。如果有人能指出我正确的方向,那么我是否能够提升?

如何让这个返回我实际可以使用的时间,例如0.00156或其他什么?

代码:在main()

boost::timer::cpu_timer timer;

std::cout << tree1.search("Cork") << std::endl;

//Print CPU TIME
boost::timer::cpu_times elapsed = timer.elapsed();
std::cout << " CPU TIME: " << (elapsed.user + elapsed.system) / 1e9 << " seconds" << std::endl;

1 个答案:

答案 0 :(得分:1)

您可以使用boost chrono;

boost::timer::cpu_timer timer;

std::cout << tree1.search("Cork") << std::endl;

//Print CPU TIME
boost::chrono::duration<double> elapsed = boost::chrono::nanoseconds(timer.elapsed().user);
std::cout << " CPU TIME: " << seconds.count() << "s\n" << " seconds" << std::endl;