boost计时器相关的类有三个:boost::timer boost::progress_timer(继承自boost::timer) boost::progress_display

boost::timer 
头文件:<boost/timer.hpp>
在定义的时候就开始计时,需要截止的时候调用boost::timer::elapsed()获取从计时开始到目前为止的秒数。如果需要重新计时,可以使用boost::timer::restart()方法。

boost::progress_timer 
头文件:<boost/progress.hpp>
boost::progress_timer继承自boost::timer,使用更简单, 增加的一点功能就是在析构的时候自动输出所经过的秒数,保留两位小数。可以利用块代码中临时变量的析构特性,计算一个代码块中的执行时间。

boost::progress_display 
头文件:<boost/progress.hpp>
boost::progress构造函数中需要一个expected_count整数作为进度条达到100%时的最大数。 
然后这个类重载了operator+= operator++用来增加进度条的大小。成员函数count()返回当前的计数,当计数达到expected_count()时,进度达到100%.

我们以boost::progress_timer 的使用为例

实验如图:

boost之timer,progress_timer,progress_display的介绍及使用_boost的progress_timer

代码如下:

#include <cstdio>
#include <iostream>
#include <boost/progress.hpp>

using namespace std;
using namespace boost;

int main()
{
{
cout<<"执行10亿次的加法耗时"<<endl;
progress_timer t;
int sum = 1;
for (int i=0;i<1000000000;i++)
{
sum += i;
}
cout<<"result:"<<sum<<endl;
// 超过作用域时,变量析构,自动打印出时间
}
getchar();
return 0;
}