描述

所里需要在软件中添加并行下的代码运行时间,本来是想用ctime库直接统计,但是发现有些计算太微妙,不好统计。直接用毫秒来统计是一个比较好的办法

示例代码

#include <iostream>
#include <chrono>
void function1()
{
    // 第一个函数的代码
}
void function2()
{
    // 第二个函数的代码
}
int main()
{
    int total_iterations = 10000;
    // 循环的总迭代次数
    auto start_time_outer = std::chrono::high_resolution_clock::now();
    // 记录整个循环的开始时间
    for (int i = 0; i < total_iterations; i++)
    {
        auto start_time_function1 = std::chrono::high_resolution_clock::now();
        // 记录第一个函数的开始时间
        function1();
        // 调用第一个函数
        auto end_time_function1 = std::chrono::high_resolution_clock::now();
        // 记录第一个函数的结束时间
        auto start_time_function2 = std::chrono::high_resolution_clock::now();
        // 记录第二个函数的开始时间
        function2();
        // 调用第二个函数
        auto end_time_function2 = std::chrono::high_resolution_clock::now();
        // 记录第二个函数的结束时间
        auto duration_function1 = std::chrono::duration_cast<std::chrono::microseconds>(end_time_function1 - start_time_function1);
        // 计算第一个函数的执行时间
        auto duration_function2 = std::chrono::duration_cast<std::chrono::microseconds>(end_time_function2 - start_time_function2);
        // 计算第二个函数的执行时间
        std::cout << "Function 1 time in each loop iteration is: " << duration_function1.count() << " microseconds" << std::endl;
        std::cout << "Function 2 time in each loop iteration is: " << duration_function2.count() << " microseconds" << std::endl;
    }
    auto end_time_outer = std::chrono::high_resolution_clock::now();
    // 记录整个循环的结束时间
    auto duration_outer = std::chrono::duration_cast<std::chrono::microseconds>(end_time_outer - start_time_outer);
    // 计算整个循环的执行时间
    std::cout << "The overall loop time is: " << duration_outer.count() << " microseconds" << std::endl;
    return 0;
}

本文由 管理员 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

只有地板了

  1. cpzopqhyjj
    cpzopqhyjj

    2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
    新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
    新车首发,新的一年,只带想赚米的人coinsrore.com
    新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
    做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
    新车上路,只带前10个人coinsrore.com
    新盘首开 新盘首开 征召客户!!!coinsrore.com
    新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
    新车即将上线 真正的项目,期待你的参与coinsrore.com
    新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
    新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com

添加新评论