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;
} 
相关推荐
敲代码的嘎仔9 分钟前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档
java·开发语言·人工智能·git·python·实习·大二
江华森27 分钟前
Python 实现高德地图找房(一):环境搭建与数据爬虫
开发语言·爬虫·python
杜子不疼.28 分钟前
【Qt初识】信号槽(三):机制意义、断开连接与 Lambda 表达式
开发语言·数据库·qt
老迟到的茉莉2 小时前
Hermes 是谁?跟 Claude Code 差在哪
开发语言·python
学逆向的2 小时前
汇编——内存
开发语言·汇编·算法·网络安全
lbb 小魔仙2 小时前
MuMu 模拟器 6.0 硬核测评:这次升级确实不一样
java·开发语言·模拟器·mumu·硬核测评
r_oo_ki_e_2 小时前
Java 线程池
java·开发语言
KuaCpp3 小时前
C++进程(下)
c++
杜子不疼.3 小时前
【Qt初识】信号槽(二):自定义信号函数与槽函数
开发语言·qt
ctrl_v助手3 小时前
C#日志工具类log4net的使用
开发语言·c#