English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
我们可以使用以下语法来计算代码片段的执行时间:
auto start = high_resolution_clock::now(); // Start time //代码段 auto stop = high_resolution_clock::now(); // Ora di fermata auto durata = duration_cast<microseconds>(stop - start); // Durata
La classe high_resolution_clock è definita nel file di intestazione 'chrono'. Questa funzionenow()
Stiamo restituendo un valore corrispondente al punto di chiamata.
I file di intestazione vengono utilizzati per registrare il tempo impiegato da questo segmento di codice specifico.
#include <chrono> using namespace std::chrono;
Di seguito è riportato un esempio di codice per calcolare il tempo di esecuzione di un segmento di codice.
#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 durata = duration_cast<microseconds>(stop - start); cout << "\nTime taken by function: " << duration.count() << " microseconds"; return 0; }
Risultato di output
The sum of numbers: 36 Tempo impiegato dalla funzione: 42 microsecondi
Nel programma sopra,sum();
È stato definito un funzione per calcolare la somma dei numeri.
int sum(int x, int y) { int s = x + y; cout << "The sum of numbers: " << s; }
Inmain();
All'interno della funzione, noisum();
Vengono registrati i tempi di esecuzione delle funzioni utilizzando alcune funzioni predefinite e la classe 'chrono'.
auto start = high_resolution_clock::now(); sum(28, 8); auto stop = high_resolution_clock::now(); auto durata = duration_cast<microseconds>(stop - start);