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;
} 
相关推荐
旷世奇才李先生15 分钟前
Lua 安装使用教程
开发语言·lua
Zonda要好好学习25 分钟前
Python入门Day2
开发语言·python
不良手残32 分钟前
IDEA类和方法注释模板设置-保姆教程
java·开发语言
项目題供诗1 小时前
黑马python(二十四)
开发语言·python
就改了1 小时前
JUC小册——公平锁和非公平锁
java·开发语言
一粒沙白猫2 小时前
Java综合练习04
java·开发语言·算法
哎呦你好2 小时前
【CSS】Grid 布局基础知识及实例展示
开发语言·前端·css·css3
一入JAVA毁终身2 小时前
处理Lombok的一个小BUG
java·开发语言·bug
Hellyc3 小时前
JAVA八股文:异常有哪些种类,可以举几个例子吗?Throwable类有哪些常见方法?
java·开发语言
2301_803554523 小时前
c++中的绑定器
开发语言·c++·算法