一个简单的C++性能测试工具(ms级别)

本文介绍了如何使用C++11或更高版本的编译器,以及在旧编译器环境下,实现毫秒级别的性能测试。通过引用特定的头文件和实现文件,你可以创建一个简单的性能测试工具。
摘要由CSDN通过智能技术生成

C++11或以上编译器,实现ms级计数,参考下面的代码

#include <chrono>
...
		unsigned short _hour;
		unsigned short _minute;
		float          _second;
...		
		[](unsigned short &_hour,
			unsigned short &_minute,
			float &_second) {
			using namespace std::chrono;
			auto time_now = system_clock::now();
			auto duration_in_ms = duration_cast<milliseconds>(time_now.time_since_epoch());//从1970年开始
			auto ms = duration_in_ms.count();//获取毫秒级时间戳   //https://www.epochconverter.com/
			//auto milli = ms + 8 * 60 * 60 * 1000;//此处转化为东八区北京时间,如果是其它时区需要按需求修改

			auto partial_ms = ms % 1000;//只取毫秒部份

			auto tt = system_clock::to_time_t(time_now);
			struct tm* ptm = localtime(&tt);

			_hour = ptm->tm_hour;
			_minute = ptm->tm_min;
			_second = ptm->tm_sec + partial_ms / 1000.0;
		}(_hour, _minute, _second);
...

C++11前,老的编译器,实现ms级计数,参考下面的代码。

#include "sperformance.h"

#include <iostream>
#include <boost/thread.hpp>

int main(int argc, char** argv)
{
	kagula::PerformanceTest pt;
	
	{
		pt.start();
		boost::this_thread::sleep(boost::posix_time::milliseconds(0));
		pt.stop();

		std::cout << "First time:" <&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kagula086

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值