21xrx.com
2025-04-25 22:11:29 Friday
文章检索 我的文章 写文章
C++获取程序运行时间
2023-06-23 00:14:38 深夜i     32     0
C++ 程序运行时间 获取

在编写C++程序时,了解程序的运行时间是很重要的。在程序的调试和优化过程中,获取程序的运行时间可以帮助开发者定位问题,提高程序的运行效率。下面将介绍C++获取程序运行时间的方法。

一、使用clock函数

C++标准库提供了一个clock函数可以用来获取程序的运行时间。clock函数返回的是程序运行到当前时刻的CPU时间,单位为毫秒。下面是使用clock函数获取程序运行时间的代码示例:

#include <iostream>
#include <ctime>
using namespace std;
int main() {
  clock_t start, end;
  start = clock();  //记录程序开始时刻
  // 此处插入程序代码
  end = clock();   //记录程序结束时刻
  double time = (double)(end - start) / CLOCKS_PER_SEC * 1000;
  cout << "程序运行时间为 " << time << " 毫秒" << endl;
  return 0;
}

在程序运行开始时,使用clock函数记录当前时刻作为程序的起始时间;程序运行结束时,使用clock函数再次记录当前时刻作为程序的结束时间。将二者的时间戳相减,即可得到程序的运行时间。最后将运行时间转换为毫秒并输出即可。

二、使用chrono库

在C++11标准中,新增加了一个chrono库用于管理时间。该库提供了高精度的计时器,可以更准确地获取程序的运行时间。下面是使用chrono库获取程序运行时间的代码示例:

#include <iostream>
#include <chrono>
using namespace std;
using namespace chrono;
int main() {
  auto start = high_resolution_clock::now();  //记录程序开始时刻
  // 此处插入程序代码
  auto end = high_resolution_clock::now();   //记录程序结束时刻
  auto duration = duration_cast<milliseconds>(end - start).count();
  cout << "程序运行时间为 " << duration << " 毫秒" << endl;
  return 0;
}

在程序运行开始时,使用high_resolution_clock::now()函数记录当前时刻作为程序的起始时间;程序运行结束时,使用同样的方式记录当前时刻作为程序的结束时间。将二者的时间戳相减,并使用duration_cast函数将其转换为毫秒,即可得到程序的运行时间。最后将运行时间输出即可。

总结:

获取程序运行时间是编写、调试和优化C++程序时的必备技能。无论是使用clock函数还是使用chrono库,都可以轻松地获取程序的运行时间。开发者可以根据自己的需求选择合适的方法,以便更好地进行程序优化和性能测试。

  
  

评论区