值得一看
广告
彩虹云商城
广告

热门广告位

c++中怎么计算程序运行时间_C++程序执行时间测量方法

使用chrono库可高精度跨平台测量C++程序运行时间,通过std::chrono::high_resolution_clock::now()记录起止时间,计算差值得出执行耗时。

c++中怎么计算程序运行时间_c++程序执行时间测量方法

在C++中测量程序运行时间,常用的方法有多种,根据精度需求和平台不同可以选择合适的方式。以下是几种常见的计算程序执行时间的方法。

使用 chrono 高精度时钟(推荐)

chrono 是 C++11 引入的时间处理库,提供了高精度、跨平台的计时方式,适合测量代码段的执行时间。


#include <iostream>
#include <chrono>

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

    // 要测量的代码段
    for (int i = 0; i
        // 模拟工作
    }

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

    // 计算耗时
    auto duration = std::chrono::duration_cast<std::chrono::microseconds>(end – start);

    std::cout << “执行时间: ” << duration.count() << ” 微秒” << std::endl;

    return 0;
}

你可以将时间单位改为 millisecondsnanoseconds 来获取不同精度的结果。

使用 clock() 函数(传统方法)

来自 <ctime> 的 clock() 函数是较老但广泛支持的方法,返回程序运行的 CPU 时钟周期数。

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


#include <iostream>
#include <ctime>

int main() {
    clock_t start = clock();

    // 执行代码
    for (int i = 0; i
        // 工作
    }

    clock_t end = clock();

    double elapsed = static_cast<double>(end – start) / CLOCKS_PER_SEC;
    std::cout << “执行时间: ” << elapsed << ” 秒” << std::endl;

    return 0;
}

注意:clock() 测量的是 CPU 时间,多线程或系统等待时可能不准确。

美间AI

美间AI

美间AI:让设计更简单

美间AI45

查看详情
美间AI

Windows 平台使用 QueryPerformanceCounter

在 Windows 上,可以使用高精度性能计数器进行更精确的测量。


#include <iostream>
#include <windows.h>

int main() {
    LARGE_INTEGER frequency, start, end;
    QueryPerformanceFrequency(&frequency);
    QueryPerformanceCounter(&start);

    // 执行代码
    for (int i = 0; i
    QueryPerformanceCounter(&end);

    double elapsed = (double)(end.QuadPart – start.QuadPart) / frequency.QuadPart;
    std::cout << “执行时间: ” << elapsed << ” 秒” << std::endl;

    return 0;
}

这种方法精度极高,适合性能敏感的场景,但仅限 Windows。

小结与建议

对于大多数现代 C++ 开发,推荐使用 std::chrono::high_resolution_clock,它简洁、可读性强、跨平台且精度高。如果需要兼容老编译器或特殊平台,再考虑 clock() 或平台专用 API。

基本上就这些,选择合适的方法取决于你的精度要求和运行环境。

相关标签:

windows ai c++ ios win stream count for include auto int double 线程 多线程 windows

大家都在看:

Windows10无法使用Windows Sandbox沙盒功能怎么办_Windows10Windows Sandbox无法使用修复方法
win10提示“此电脑目前无法连接到Windows更新服务器”怎么办 _Win10 无法连接Windows更新服务器修复方法
虚拟机VMware中进行Windows安装的步骤
win11更新后出现“配置Windows更新失败,正在撤销更改”怎么办_Win11更新失败撤销修复方法
Windows安装后C盘空间异常占用分析
温馨提示: 本文最后更新于2025-10-17 16:31:17,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞11赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容