Chúng ta có thể tính thời gian thực thi đoạn mã bằng cú pháp sau:
auto start = high_resolution_clock::now(); // Thời gian bắt đầu // Đoạn mã auto stop = high_resolution_clock::now(); // Thời gian kết thúc auto duration = duration_cast<microseconds>(stop - start); // Thời lượng
Lớp high_resolution_clock định nghĩa trong header chrono. Hàm now() trả về giá trị tương ứng với thời điểm gọi.
Header file dùng để ghi nhận thời gian:
#include <chrono> using namespace std::chrono;
Ví dụ tính thời gian thực thi:
Ví dụ
#include <iostream>
#include <chrono>
using namespace std::chrono;
using namespace std;
int sum(int x, int y) {
int s = x + y;
cout << "Tổng các số: " << 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 << "\nThời gian hàm thực thi: " << duration.count() << " microseconds";
return 0;
}
Kết quả
Tổng các số: 36 Thời gian hàm thực thi: 42 microseconds
Trong chương trình, hàm sum() tính tổng hai số.
int sum(int x, int y) {
int s = x + y;
cout << "Tổng các số: " << s;
}
Trong main(), ghi nhận thời gian hàm sum() bằng các hàm/lớp định nghĩa sẵn trong chrono.
auto start = high_resolution_clock::now(); sum(28, 8); auto stop = high_resolution_clock::now(); auto duration = duration_cast<microseconds>(stop - start);