C++ 之计时函数总结

C++ 之计时函数总结

  • 总结Windows下C++开发时的计时实现

1. clock()

cpp 复制代码
#include <time.h>   //引入头文件

void main()
{
	clock_t start, end;
	start = clock();

	fun();  //需计时的函数

	end = clock();  
	float t_c=float(end-start)/CLOCKS_PER_SEC;
	cout << "func cost = " << t_c << "ms" << endl;  
	printf("func cost = %.3f ms", t_c);  
}

2. cv::getTickCount()

cpp 复制代码
#include<iostream>
#include<opencv2/opencv.hpp>

void main()
{
    double t1 = cv::getTickCount();
    func();
    double t2 = cv::getTickCount();
  
    double t_c = (t2 - t1)/cv::getTickFrequency();
    cout << "func cost = " << t_c << "ms" << endl;  
	printf("func cost = %.3f ms", t_c); 
}

3. std::chrono

cpp 复制代码
#include <iostream>
#include <chrono>
void time4()
{
	// 计时开始时间点
	// chrone 中常用的时钟类:
	// 		- std::chrono::high_resolution_clock
	//   	- std::chrono::system_clock
	//      - std::chrono::steady_clock
	// 三种时钟类有一些区别,其中 high_resolution_clock 精度最高
	auto start = std::chrono::high_resolution_clock::now();

	// 要计时的代码段
	fun();  
	// 计时结束时间点
	auto end = std::chrono::high_resolution_clock::now();

	// 计算运行时间, 时间单位:
	//      - std::chrono::seconds
	//      - std::chrono::milliseconds
	//      - std::chrono::microseconds
	//      - std::chrono::nanoseconds
	auto duration = std::chrono::duration_cast<std::chrono::microseconds> (end - start);

	// 输出时间(给定时间单位)
	cout << "elapsed time in chrono = " << duration.count()/1000.0 << "ms" << endl;
} 
相关推荐
Peter·Pan爱编程26 分钟前
14. Lambda 表达式:随手可写的函数对象
c++·算法·ai编程
不想写代码的星星1 小时前
从分支预测角度看 C++:为什么你的热循环慢得离谱?
c++
bug和崩溃我都要1 小时前
Qt 封装 libmpv 全功能视频播放器开发指南
开发语言·qt·音视频
郝学胜-神的一滴1 小时前
Qt 高级开发 018:复刻经典登录界面布局与窗口美化全解析
开发语言·c++·qt·程序人生·用户界面
郝亚军2 小时前
IEEE 754 单精度浮点的SEM表示
开发语言·c++·算法
zhangjw342 小时前
第15篇:Java多线程零基础入门,进程线程、线程创建方式、线程生命周期、线程安全彻底吃透
java·开发语言·面试
蝈理塘(/_\)大怨种2 小时前
类和对象 (上)
java·开发语言
小新1102 小时前
qt creator 将qInfo的输出日志写入日志文档,方便查看
开发语言·qt
hssfscv3 小时前
QT的学习记录1
开发语言·qt·学习
SunnyDays10113 小时前
Python操作Excel批注:从基础添加到高级自定义的完整指南
开发语言·python·excel