您的位置:首页 > 其它

Boost学习笔记——cpu_timer

2013-09-18 10:00 316 查看
原始版本的timer已经废弃,最新的版本建议使用cpu_timer。

一、简介:

这个类一般用来记录程序运行了多长时间。它被分解为经过时间,操作系统响应用户请求的时间和用户时间。

cpu_timer计量经过时间,用户执行时间,和系统执行时间。auto_cpu_timer是一个更为精细的cpu_timer,当它被销毁时能自动的报告花费的时间。

二、使用cpu_timer

例一:

#include <boost/timer/timer.hpp>
#include <cmath>

int main()
{
boost::timer::auto_cpu_timer t;

for (long i = 0; i < 100000000; ++i)
std::sqrt(123.456L); // burn some time

return 0;
}


当auto_cpu_timer构造的时候,计时开始,当它析构的时候,则自动的在默认的输出流std::cout中输出花费的时间,并停止计时。

输出格式如下:

5.713010s wall, 5.709637s user + 0.000000s system = 5.709637s CPU (99.9%)

可以在构造cpu_timer的时候改变输出格式。下图为一些常用的输出形式:





例二:

#include <boost/timer/timer.hpp>
#include <iostream>
#include <cmath>
#include <sstream>
#include <string>

int _tmain(int argc, _TCHAR* argv[])
{
std::stringstream ss;
std::string str;
{
boost::timer::auto_cpu_timer t(ss,2);
for (long i = 0; i < 100000000; ++i)
std::sqrt(123.456L); // burn some time

}
ss >> str;
std::cout << str << std::endl;

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: