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;
} 
相关推荐
你怎么知道我是队长2 分钟前
C语言---缓冲区
c语言·开发语言
一只专注api接口开发的技术猿28 分钟前
如何处理淘宝 API 的请求限流与数据缓存策略
java·大数据·开发语言·数据库·spring
superman超哥29 分钟前
Rust 异步递归的解决方案
开发语言·后端·rust·编程语言·rust异步递归
期待のcode30 分钟前
Java虚拟机的非堆内存
java·开发语言·jvm
黎雁·泠崖31 分钟前
Java入门篇之吃透基础语法(二):变量全解析(进制+数据类型+键盘录入)
java·开发语言·intellij-idea·intellij idea
老歌老听老掉牙37 分钟前
优化样条曲线拟合参数解决三维建模中的截面连续性问题
c++·opencascade·样条曲线
毕设源码-郭学长1 小时前
【开题答辩全过程】以 基于python电商商城系统为例,包含答辩的问题和答案
开发语言·python
散峰而望1 小时前
【算法竞赛】栈和 stack
开发语言·数据结构·c++·算法·leetcode·github·推荐算法
Mr -老鬼1 小时前
Rust 的优雅和其他语言的不同之处
java·开发语言·rust