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;
} 
相关推荐
稻草人想看远方4 分钟前
GC垃圾回收
java·开发语言·jvm
胡萝卜的兔22 分钟前
go 日志的分装和使用 Zap + lumberjack
开发语言·后端·golang
浪扼飞舟25 分钟前
c#基础(一)
开发语言·c#
HAH-HAH1 小时前
【蓝桥杯 2024 国 Java A】粉刷匠小蓝
c++·学习·数学·算法·职场和发展·蓝桥杯·组合数学
百锦再1 小时前
在 CentOS 系统上实现定时执行 Python 邮件发送任务
java·linux·开发语言·人工智能·python·centos·pygame
何似在人间5751 小时前
Go语言快速入门教程(JAVA转go)——1 概述
java·开发语言·golang
小吴同学·2 小时前
OPC Client第10讲:实现主界面;获取初始界面传来的所有配置信息config【C++读写Excel:xlnx;ODBC;缓冲区】
c++·wxwidgets
边疆.2 小时前
【C++】继承详解
开发语言·c++·继承
hweiyu002 小时前
C++设计模式,高级开发,算法原理实战,系统设计与实战(视频教程)
c++·算法·设计模式
lxh01132 小时前
LRU 缓存
开发语言·前端·javascript