文档章节

【C++】【STL】利用chromo来测量程序运行时间与日志时间打印精确到微秒

muqiusangyang
 muqiusangyang
发布于 06/24 20:19
字数 251
阅读 4
收藏 0
点赞 0
评论 0

直接上代码吧,没啥好说的。头疼。

#include <iostream>
#include <string>
#include <ctime>
#include <sstream>
#include <iomanip>
#include <thread>
#include <chrono>

using namespace std;

class LogTime {
public:
	LogTime() {}
	~LogTime() {}
	inline void Start() { this->start = std::chrono::system_clock::now(); }
	inline void End() { this->end = std::chrono::system_clock::now(); }

	std::string GetRunTime() {
		auto us_duration = std::chrono::duration_cast<std::chrono::microseconds>(this->end - this->start);
		auto ms_duration = std::chrono::duration_cast<std::chrono::milliseconds>(this->end - this->start);
		unsigned long ms = ms_duration.count();
		unsigned long us = us_duration.count();
		std::stringstream ss;
		ss << ms << " ms," << us << " us .";
		return ss.str();
	}

	std::string Now() {
		auto now = std::chrono::system_clock::now();
		auto m = now.time_since_epoch();
		auto diff = std::chrono::duration_cast<std::chrono::microseconds>(m).count(); //当前时间显示到微秒
		auto const ms = diff % 1000000;
		//auto diff = std::chrono::duration_cast<std::chrono::milliseconds>(m).count(); //当前时间显示到毫秒
		//auto const ms = diff % 1000;

		std::stringstream ss;
		std::time_t t = std::chrono::system_clock::to_time_t(now);
		ss << std::put_time(std::localtime(&t), "%Y-%m-%d %H.%M.%S") << "." << ms;
		return ss.str();
	}
private:
	std::chrono::system_clock::time_point start;
	std::chrono::system_clock::time_point end;
};

 

© 著作权归作者所有

共有 人打赏支持
muqiusangyang
粉丝 9
博文 26
码字总数 16241
作品 0
西安
程序员
自助Linux之问题诊断工具strace [转]

引言 “Oops,系统挂死了..." “Oops,程序崩溃了..." “Oops,命令执行报错..." 对于维护人员来说,这样的悲剧每天都在上演。理想情况下,系统或应用程序的错误日志提供了足够全面的信息,通...

文艺小青年
2017/07/13
0
0
Java中计算程序运行耗时的方法对比

Java中测试程序代码运行时间的方式有两种: 第一种:以毫秒为单位计算的。 long startTime=System.currentTimeMillis(); //下面是一些测试代码 for(int i=0;i<10000;i++){ System.out.print...

yzbty23
06/04
0
0
【原创】Percona 之 tcprstat 安装及使用

本文描述 tcprstat 工具的安装和使用。 ========== 我是分割线 ========== 【安装】 tcprstat 的源码管理方式使用的是 bzr 。bzr 的简介和相应客户端的安装可以参考《 安装和使用 TPCC-MySQL...

摩云飞
2013/08/26
0
0
够用的 Python 写日志的知识——标准日志模块logging简介

前一段工作的时候用到了python写后台系统,需要把一些系统的行为记录下来。本着不要去重复发明轮子的精神,就去搜索了一下python的系统库本身是否有写日志的模块。果然有。python语言作为一门...

costaxu
2012/09/23
0
0
C语言获取SYSTEMTIME

C语言中如何获取时间?精度如何?1 使用timet time( timet timer ) 精确到秒2 使用clockt clock() 得到的是CPU时间精确到1/CLOCKSPERSEC秒3 计算时间差使用double difftime( timet timer1,t...

二胡艺
2014/03/24
0
0
在windows下如何设置精确到微秒级的时间

咨询下大神,在下在做一个windows平台上的时间同步系统,测量延迟可以达到微秒级,现在是不知道怎么修正,找了下系统函数,能找到的只有毫秒级的设置,setlocaltime(),

老高0511
2017/12/22
54
1
VC++获得微秒级时间的方法与技巧探讨

获得微秒级的时间 收藏 Win 下建议如下方式: http://www.vckbase.com/document/viewdoc/?id=1301 VC中基于 Windows 的精确定时 中国科学院光电技术研究所 游志宇 在工业生产控制系统中,有许...

长平狐
2013/01/06
161
0
console模块解读之实现一个console.log

目录 console是同步的还是异步的? 实现一个console.log 实现步骤 创建logger.js文件 使用说明 基础例子log、info、error、warn、clear trace打印错误堆栈 dir显示一个对象的所有属性和方法 ...

曲先森
06/19
0
0
借助开源工具高效完成Java应用的运行分析

不止一次,我们都萌发过想对运行中程序的底层状况一探究竟的念头。产生这种需求的原因可能是运行缓慢的服务、Java虚拟机(JVM)崩溃、挂起、死锁、频繁的JVM暂停、突然或持续的高CPU使用率、...

五大三粗
2015/10/22
13
0
借助开源工具高效完成Java应用的运行分析

不止一次,我们都萌发过想对运行中程序的底层状况一探究竟的念头。产生这种需求的原因可能是运行缓慢的服务、Java虚拟机(JVM)崩溃、挂起、死锁、频繁的JVM暂停、突然或持续的高CPU使用率、...

五大三粗
2015/10/22
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python爬取站长素材网页图片保存到ppt中

网站地址:http://sc.chinaz.com/tupian/index.html 直接上代码: import requestsfrom bs4 import BeautifulSoupfrom pptx import Presentationfrom pptx.util import Inchesimpor......

你为什么不吃药
2分钟前
0
0
Ubuntu 18.04 swap空间的修改

一、准备工作 执行“sudo swapon -s”命令,查看是否已经存在swap file 二、修改swap file # 如果第一步存在swapfile则需要先禁用sudo swapoff /swapfile# 修改swap 空间的大小为2Gs...

Iceberg_XTY
5分钟前
0
0
438. Find All Anagrams in a String - LeetCode

Question 438. Find All Anagrams in a String Solution 题目大意:给两个字符串,s和p,求p在s中出现的位置,p串中的字符无序,ab=ba 思路:起初想的是求p的全排列,保存到set中,遍历s,如...

yysue
12分钟前
0
0
RabbitMQ实战:五种模式和案例

本文来自:Rabbitmq的五种模式和案例 消息生产者p将消息放入队列 消费者监听队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列删除 (隐患,消息可能没有被消费者正确处理,已经消失了,...

spinachgit
13分钟前
0
0
android基于MVP小说网络爬虫、宝贝社区APP、仿虎扑钉钉应用、滑动阴影效果等源码

Android精选源码 android宝贝社区app源码 android仿Tinder最漂亮的一个滑动效果 android仿滴滴打车开具页,ListView粘性Header Android基于MVP模式开发的小说网络书库带缓存网络爬虫,。 Easy...

逆鳞龙
15分钟前
0
0
第三章 spring-bean之beanFactory系列(1)

前言 spring的基本问题,每次面试基本会问题。比如 - spring是什么回答是ioc,aop,第三个就是beanfactory。 - spring使用什么模式,100%的人回答是工厂模式。 - 这面的问题大家都知道。关于...

鸟菜啊
17分钟前
0
0
箭头函数

var foo = v => v;// 等同于var foo = function (v) {return v;} 如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分 var f = () => 5;// 等同于var f = functio...

litCabbage
19分钟前
0
0
软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]

软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]: 前言: 要做软件就必然会涉及到程序设计语言,它是什么?有哪些特点?又有哪几部分组成的呢?在这里我们为大家做了一个总结,希...

原创小博客
19分钟前
0
0
重写视频播放进度条

需要注意的地方,基于html vedio 标准使用期去了解一下 1.想去掉视频默认的播放条,去掉controls属性。 2.需要预加载视频加上preload="auto"属性。 1.js代码 $(function(){ init(); }); var ...

轻量级赤影
27分钟前
0
0
saltstack管理任务计划-添加&删除

1.服务端配置 >>编辑 top.sls 文件 # vim /srv/salt/top.sls //修改为如下 base: '192.168.*.*': - crontest >>编辑crontest.sls文件添加计划任务 cron-test: cron.present: - name: /bin/to......

硅谷课堂
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部