boost::timer demo

#include <iostream>
#include <boost/timer.hpp>		//timer的头文件
using namespace boost;			//打开boost名字空间

int main(int argc, char** argv)
{
	timer t;		//定义一个计时器对象,并开始计时
	/*可度量的最大时间,以小时为单位*/
	std::cout << "max timespan:" << t.elapsed_max() / 3600 << "h" << std::endl;
	/*可度量的最大时间,以小时为单位*/
	std::cout << "min timespan:" << t.elapsed_min() << std::endl;
	/*输出已经流逝的时间*/
	std::cout << "now time elapsed:" << t.elapsed() << "s" << std::endl;
	return 0;
}

输出效果:

注意:

  1. 不适合高精度的时间测量
  2. 精度依赖操作系统与编译器,不好做跨平台
  3. 不合适大跨度时间段的测量,因为有最大时间跨度,elapsed_max()可获取

原文地址:https://www.cnblogs.com/dilex/p/10562334.html

时间: 2024-10-11 04:21:24

boost::timer demo的相关文章

Boost timer 学习笔记

今天开始看<Boost程序库完全开发指南:深入C++"准"标准库(第3版)>一书.我用的是boost 1.57,而书上使用的是boost 1.43左右.原以为差距不大,结果在第一个timer库的时候就碰到了问题. 书上说的是直接使用boost::timer类.但是我查看源代码时发现,timer现在只是一个命名空间而非一个类,真正的类是cpu_timer和auto_cpu_timer,同时,也没有了elapsed_max和elapsed_min方法了.多了:is_stoppe

boost timer 定时器 Operation cancel !

前面段时间处理一个定时器时,老是提示 操作取消. 硬是没搞明白为什么! 其实我遇到的这个情况很简单就是(boost::asio::deadline_timer timer)这个变量的生命同期结束了,对象栈被释放了所导致的. 所以出现了 Operation canceled 的提示.

boost::thread demo

#include <iostream> #include <boost/date_time/gregorian/gregorian.hpp> #include <boost/date_time/posix_time/posix_time.hpp> #include <boost/thread.hpp> using namespace boost; using namespace boost::posix_time; void thread_func(); i

初探boost之timer库学习笔记

timer 用法 #include <boost/timer.hpp> #include <iostream> using namespace std; using namespace boost; int main() { timer t;//声明一个计时器对象,开始计时 cout<<"max:"<<t.elapsed_max()/3600<<"h"<<endl; //可度量的最大时间,以小时

Boost中的Timer的使用——计算时间流逝

使用Boost中的Timer库计算程序的执行时间 程序开发者都会面临一个共同的问题,即写出高质量的代码完成特定的功能.评价代码质量的一个重要标准就是算法的执行效率,也就是算法的执行时间.为了可靠的提高程序的执行效率,首先要知道执行程序所消耗的时间,然后找出可行的方案对程序进行优化.C++程序员在开发代码的过程中难免会遇见此类问题,本文以Boost中的Timer库为例,详细讲解如何测量程序的执行时间. Boost中Timer库的介绍 Timer是Boost中的一个很小的时间库,提供时间度量和进度显

boost库学习之 timer库

timer是一个很小的库,提供简易的时间度量和进度显示,包括timer.progress_timer.progress_display三个类.不适合高精度的时间测量任务,精度依赖于操作系统或编译器,可提供的最大时间跨度只有几百个小时,不适合大跨度的时间段测量. timer类 先来看一下标准库如何计时: #include <iostream> #include <ctime> using namespace std; int main() { clock_t begin, end;

Boost.Asio学习笔记一、linux下boost库的安装

学习开源库的第一步就是,编译安装,然后我们才能写一写demo去测试. 所以本章我们学一下在linux编译安装Boost库,为了方便起见,直接安装完整库. 我使用的版本是boost_1_55_0,版本差别不大. [[email protected] ~]$ tar -zxvf boost_1_55_0.tar.gz [[email protected] boost_1_55_0]$ ./bootstrap.sh --prefix=/home/mjf/lib [[email protected] b

Boost学习笔记(三) progress_timer

progress_timer也是一个计时器,它继承自timer,会在析构时自动输出时间,省去timer手动调用elapsed()的工作,是一个用于自动计时相当方便的小工具. #include <boost\timer.hpp> #include <boost\progress.hpp> #include <iostream> using namespace boost; using namespace std; int main() { boost::progress_

在Qt工程中加Boost

摘要: Boost是一个很强大的C++库,堪比STL,里面有很多非常优秀的类库.我不多介绍,详情见官网:http://www.boost.org/ 要在我们的Qt工程中把这个库加进去应该怎么做呢?我今晚试了一下. Boost是一个很强大的C++库,堪比STL,里面有很多非常优秀的类库.我不多介绍,详情见官网:http://www.boost.org/ 要在我们的Qt工程中把这个库加进去应该怎么做呢?我今晚试了一下. 我从网上下载了Boost压缩文件,下载地址:boost_1_52_0.tar.g