21xrx.com
2024-12-22 21:19:37 Sunday
登录
文章检索 我的文章 写文章
C++代码中如何输出执行时间
2023-07-13 13:07:45 深夜i     --     --
C++ 输出 执行时间 计时器 chrono

在写C++代码时,输出程序执行时间是一项非常重要的技能,尤其是对于需要分析程序性能的开发人员。本文将介绍一些方法,帮助您在C++代码中输出程序执行时间。

1. 使用ctime头文件

ctime是C/C++标准库的头文件之一,它定义了与时间和日期有关的函数和宏。在C++代码中,您可以使用clock()函数来获取程序执行的CPU时间。要输出程序执行时间,可以使用如下代码:


#include <ctime>

#include <iostream>

using namespace std;

int main() {

  clock_t start, end;

  double cpu_time_used;

  start = clock(); // 记录程序开始执行的CPU时间

  

  // 你的代码

  end = clock(); // 记录程序结束执行的CPU时间

  cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC; // 计算CPU执行时间

  cout << "程序执行时间:" << cpu_time_used << " 秒" << endl;

  return 0;

}

这段代码使用clock_t类型的start和end记录程序执行的CPU时间,并使用CLOCKS_PER_SEC宏将其转换为秒。最后,程序输出程序执行时间,其中cpu_time_used是一个浮点型变量,表示程序执行时间的秒数。

2. 使用chrono头文件

C++11引入了一个新的头文件chrono,它定义了与时间有关的类和函数。要使用chrono头文件,可以使用如下代码:


#include <chrono>

#include <iostream>

using namespace std;

using namespace std::chrono;

int main() {

  high_resolution_clock::time_point start, end;

  duration<double> time_span;

  start = high_resolution_clock::now(); // 记录程序开始执行的时间点

  // 你的代码

  end = high_resolution_clock::now(); // 记录程序结束执行的时间点

  time_span = duration_cast<duration<double>>(end - start); // 计算程序执行时间

  cout << "程序执行时间:" << time_span.count() << " 秒" << endl;

  return 0;

}

这段代码使用high_resolution_clock类型的start和end记录程序执行时间点,并使用duration_cast函数将其转换为浮点类型的duration对象。最后,程序输出程序执行时间,其中time_span.count()是一个浮点型变量,表示程序执行时间的秒数。

总结

以上两种方法都可以在C++代码中输出程序执行时间。使用clock函数要简单一些,但是在处理高精度时间时可能会有误差。使用chrono头文件可以处理高精度时间,但是需要更多的代码。在选择时,应根据实际需求选择。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复