如何在C ++中计算代码段的执行时间?

我们可以使用以下语法来计算代码片段的执行时间:

auto start = high_resolution_clock::now(); // Start time
//代码段
auto stop = high_resolution_clock::now(); // Stop time
auto duration = duration_cast<microseconds>(stop - start); // Duration

high_resolution_clock类在“ chrono”头文件中定义。该函数now()正在返回一个与呼叫时间点相对应的值。

头文件用于记录该特定代码所花费的时间。

#include <chrono>
using namespace std::chrono;

以下是计算代码段执行时间的示例。

示例

#include <iostream>
#include <chrono>
using namespace std::chrono;
using namespace std;
int sum(int x, int y) {
   int s = x + y;
   cout << "The sum of numbers : " << s;
}
int main() {
   auto start = high_resolution_clock::now();
   sum(28, 8);
   auto stop = high_resolution_clock::now();
   auto duration = duration_cast<microseconds>(stop - start);
   cout << "\nTime taken by function : "<< duration.count() << " microseconds";
   return 0;
}

输出结果

The sum of numbers : 36
Time taken by function : 42 microseconds

在上面的程序中,sum()定义了一个函数来计算数字的总和。

int sum(int x, int y) {
   int s = x + y;
   cout << "The sum of numbers : " << s;
}

main()函数中,我们sum()通过使用一些预定义的函数和“ chrono”类记录了函数花费的时间。

auto start = high_resolution_clock::now();
sum(28, 8);
auto stop = high_resolution_clock::now();
auto duration = duration_cast<microseconds>(stop - start);