timer库包含3个小组件,计时器 timer、progress_timer 和进度指示器 progress_display。
这些组建的计时精度相对较低。
一、timer
1.1、描述
timer可以测量时间的流速,提供毫秒级别的计时精度和操作函数。
timer对象一旦被声明,它的构造函数就开启了计时工作。
1.2、使用示例
以下代码演示了timer的全部用法:
#include <boost/timer.hpp>
int main()
{
boost::timer t;
qDebug() <<"每秒时钟滴答数:"<< CLOCKS_PER_SEC;
qDebug() << "可度量的最大时间:" << t.elapsed_max() /3600 << "小时";
qDebug() << "可度量的最小时间:" << t.elapsed_min() << "秒";
qDebug() << "已流逝的时间:" << t.elapsed() <<"秒";
t.restart();//重新计时
for(int i = 0,sum = 0;i < 1000000;++i)
{
sum += i;
}
qDebug() << "已流逝的时间:" << t.elapsed() <<"秒";
}
二、progress_timer
2.1、描述
progress_timer 继承自 timer,它的特点是析构时会输出时间,省去了调用 elapsed()。
2.2、使用示例
#include <boost/progress.hpp>
int main()
{
boost::progress_timer t;
}
三、progress_display
3.1、描述
progress_display 可以在控制台显示程序的执行进度。
3.2、使用示例
#include <boost/progress.hpp>
int main()
{
boost::progress_display pd(1000000000);
for(int i = 0;i < 1000000000;++i)
{
++pd;
}
}