描述
所里需要在软件中添加并行下的代码运行时间,本来是想用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;
}
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