English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Podemos usar la siguiente sintaxis para calcular el tiempo de ejecución de un segmento de código:
auto start = high_resolution_clock::now(); // Tiempo de inicio //Segmento de código auto stop = high_resolution_clock::now(); // Tiempo de parada auto duration = duration_cast<microseconds>(stop - start); // Duración
La clase high_resolution_clock se define en el encabezado "chrono" El funcionnow()
Se está devolviendo un valor correspondiente al punto de tiempo de la llamada.
Cabeçalhos usados para registrar el tiempo que toma este código específico.
#include <chrono> using namespace std::chrono;
A continuación, se muestra un ejemplo de cómo calcular el tiempo de ejecución de un segmento de código.
#include <iostream> #include <chrono> using namespace std::chrono; using namespace std; int sum(int x, int y) { int s = x + y; cout << "La suma de los números: " << 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 << "\nTiempo tomado por la función: " << duration.count() << " microsegundos"; return 0; }
Resultados de salida
La suma de los números: 36 Tiempo tomado por la función: 42 microseconds
En el programa anterior,sum()
Se definió una función para calcular la suma de los números.
int sum(int x, int y) { int s = x + y; cout << "La suma de los números: " << s; }
enmain()
En la función, nossum()
Se registró el tiempo de ejecución de la función utilizando algunas funciones predefinidas y la clase "chrono".
auto start = high_resolution_clock::now(); sum(28, 8); auto stop = high_resolution_clock::now(); auto duration = duration_cast<microseconds>(stop - start);