0

我正在尝试测量 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;
4

1 回答 1

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;
于 2017-03-20T21:15:12.087 回答