c++统计程序运行时间
时间: 2025-01-05 22:33:22 浏览: 21
### 如何在 C++ 中测量程序执行时间
为了精确地测量一段代码或整个程序的执行时间,在现代 C++ (C++11 及之后版本) 中推荐使用 `<chrono>` 库。此库提供了高精度的时间点和持续时间度量工具。
下面是一个简单的例子来展示如何利用 `std::chrono` 来计算函数或其他代码片段所花费的时间:
```cpp
#include <iostream>
#include <chrono>
int main() {
auto start = std::chrono::high_resolution_clock::now(); // 记录起始时刻[^4]
// 被测代码段放在这里
int sum = 0;
for(int i=0;i<1e8;++i){
sum += i*i;
}
auto end = std::chrono::high_resolution_clock::now(); // 记录结束时刻[^4]
// 使用 duration_cast 将两个时间点之间的差转换成所需的单位,这里选择了毫秒作为输出单位
std::cout << "Time taken by function: "
<< std::chrono::duration_cast<std::chrono::milliseconds>(end-start).count()
<< "ms" << std::endl;
return 0;
}
```
这段代码展示了通过记录操作前后的高分辨率时钟读数并求其差异的方式获取某部分逻辑消耗的实际时间长度。注意这里的 `std::chrono::high_resolution_clock` 是一种提供最高可用频率计时器类型的类模板实例化对象;而 `duration_cast` 则用于将不同尺度之间相互转化以便于理解和处理。
阅读全文