使用“旧”版本时,在 C++ 中测量运行时间(挂墙时间)的推荐方法是什么?g++ 是 4.6.3(不是旧的,但不是 c++0x11,没有 -std=c++0x 开关),boost 也是旧的 1.46.1。
我尝试过测量 CPU 周期的 clock() 。我试过 boost::timer() 也可以测量 CPU 周期。我必须使用 C 函数吗?
如果重要的话,这是带有 3.5 内核的 Ubuntu Linux。假设我无法添加 c++0x 开关或升级编译器或 boost 库,我想找出最佳实践。
作为参考,我使用下面的代码来测试不同的功能。结果大约是 0.2 秒,而不是我在 cin 调用时等待的多秒。
{
boost::timer t;
for (int i = 0; i < 99999999; i ++) ;
std::string sin;
std::cin >> sin;
std::cout << t.elapsed() << std::endl;
}