#include <stdio.h>
#include <windows.h>
#include <boost/timer.hpp>
int main(int argc, char **argv) {
boost::timer t;
printf("统计间隔上限: %.2fh\n", t.elapsed_max() / 3600);
printf("统计最小间隔: %.2fs\n", t.elapsed_min());
printf("\n开始执行任务...\n");
Sleep(3000);
printf("当前任务结束,已耗费时间: %.2fs\n", t.elapsed());
printf("\n\n>>>可以重置统计时间,便于统计另一个任务的耗时<<<\n");
printf("\n开始执行任务...\n");
t.restart();
Sleep(2000);
printf("当前任务结束,已耗费时间: %.2fs\n", t.elapsed());
return 0;
}
运行结果:
说明:
- 封装标准库头文件<ctime>里面的std::clock()来实现的计时
- 每秒的clock数由宏CLOCKS_PER_SEC定义
- 定义变量就开始了计时:boost::timer t;
- 通过调用t.restart()重新计时
- 计时精度为秒,因而不适合高精度的时间测量
- 最大时间跨度:t.elapsed_max(),适用于短时间的统计,不适合以天、月甚至年作为时间单位来统计