0

0

C++如何计算代码执行耗时_C++ 代码执行耗时计算方法

穿越時空

穿越時空

发布时间:2025-10-11 13:00:01

|

1112人浏览过

|

来源于php中文网

原创

使用 chrono 库可精确测量 C++ 代码执行时间:1. 在代码前后获取 high_resolution_clock 时间点;2. 计算差值并转为微秒等单位输出;3. 可封装 Timer 结构体复用。推荐此跨平台高精度方法,避免旧式 clock() 函数。

c++如何计算代码执行耗时_c++ 代码执行耗时计算方法

在C++中计算代码执行耗时,常用的方法是利用标准库中的 chrono 模块。它提供了高精度的时间测量功能,适合用于性能分析和代码优化。

使用 chrono 计算执行时间

chrono 是 C++11 引入的时间处理库,位于 std::chrono 命名空间下。通过记录代码段开始和结束的时刻,可以精确计算耗时。

基本步骤如下:

  • 在代码执行前获取当前时间点(std::chrono::high_resolution_clock::now()
  • 执行目标代码
  • 代码执行后再次获取当前时间点
  • 计算两个时间点之间的差值

示例代码:

立即学习C++免费学习笔记(深入)”;

#include 
#include 

int main() { // 记录开始时间 auto start = std::chrono::high_resolution_clock::now();

// 要测量的代码段
for (int i = 0; i < 1000000; ++i) {
    // 模拟一些操作
}

// 记录结束时间
auto end = std::chrono::high_resolution_clock::now();

// 计算耗时(微秒)
auto duration = std::chrono::duration_castzuojiankuohaophpcnstd::chrono::microsecondsyoujiankuohaophpcn(end - start);

std::cout zuojiankuohaophpcnzuojiankuohaophpcn "耗时: " zuojiankuohaophpcnzuojiankuohaophpcn duration.count() zuojiankuohaophpcnzuojiankuohaophpcn " 微秒" zuojiankuohaophpcnzuojiankuohaophpcn std::endl;

return 0;

}

选择合适的时间单位

根据实际耗时长短,可以选择不同的时间单位进行输出:

Postme
Postme

Postme是一款强大的AI写作工具,可以帮助您快速生成高质量、原创的外贸营销文案,助您征服全球市场。

下载
  • 纳秒:std::chrono::nanoseconds
  • 微秒:std::chrono::microseconds
  • 毫秒:std::chrono::milliseconds
  • :std::chrono::seconds

例如,若预期耗时较长,可使用毫秒或秒;若为高性能关键路径,建议用微秒或纳秒以获得更精细的数据。

封装成可复用函数

为了方便多次测量,可以将计时逻辑封装成一个简单的结构体或函数对象:

struct Timer {
    std::chrono::time_point start;
Timer() { start = std::chrono::high_resolution_clock::now(); }

void reset() { start = std::chrono::high_resolution_clock::now(); }

long long elapsed_microseconds() {
    auto now = std::chrono::high_resolution_clock::now();
    return std::chrono::duration_castzuojiankuohaophpcnstd::chrono::microsecondsyoujiankuohaophpcn(now - start).count();
}

};

使用方式:

Timer t;
// 执行某些操作
std::cout << "耗时:" << t.elapsed_microseconds() << " 微秒\n";

基本上就这些。chrono 提供了跨平台、高精度且类型安全的计时方法,推荐在现代 C++ 项目中优先使用。注意避免使用过时的 clock() 函数,因为它精度较低且行为受平台影响较大。

相关专题

更多
golang结构体相关大全
golang结构体相关大全

本专题整合了golang结构体相关大全,想了解更多内容,请阅读专题下面的文章。

197

2025.06.09

golang结构体方法
golang结构体方法

本专题整合了golang结构体相关内容,请阅读专题下面的文章了解更多。

190

2025.07.04

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

10

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

29

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

13

2026.01.22

PHP特殊符号教程合集
PHP特殊符号教程合集

本专题整合了PHP特殊符号相关处理方法,阅读专题下面的文章了解更多详细内容。

11

2026.01.22

PHP探针相关教程合集
PHP探针相关教程合集

本专题整合了PHP探针相关教程,阅读专题下面的文章了解更多详细内容。

8

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
10分钟--Midjourney创作自己的漫画
10分钟--Midjourney创作自己的漫画

共1课时 | 0.1万人学习

Midjourney 关键词系列整合
Midjourney 关键词系列整合

共13课时 | 0.9万人学习

AI绘画教程
AI绘画教程

共2课时 | 0.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号