Espacios de nombres
Variantes
Acciones

std::clock

De cppreference.com
< cpp‎ | chrono‎ | c
 
 
Biblioteca de servicios
 
 
Utilidades de fecha y hora estilo C
Funciones
Manipulación de tiempo
clock
Conversiones de formato
Constantes
Tipos
(C++17)
 
Definido en el archivo de encabezado <ctime>
std::clock_t clock();
Devuelve el tiempo aproximado que se utiliza el procesador por el proceso desde el comienzo de una era definida por la aplicación relacionada con la ejecución del programa. Para convertir el valor en segundos resultado lo dividimos por CLOCKS_PER_SEC. Debido a que el principio de la era std::clock no tiene por qué coincidir con el inicio del programa, sólo la diferencia entre dos valores devueltos por las llamadas a diferentes std::clock es significativa. Si la CPU es compartida por otros procedimientos, tiempo std::clock puede avanzar más lento que el reloj de pared. Si el proceso actual es multiproceso y más de un núcleo de ejecución está disponible, el tiempo std::clock puede avanzar más rápido que el reloj de la pared .
Original:
Returns the approximate processor time used by the process since the beginning of an implementation-defined era related to the program's execution. To convert result value to seconds divide it by CLOCKS_PER_SEC. Because the beginning of the std::clock era does not have to coincide with the start of the program, only the difference between two values returned by different calls to std::clock is meaningful. If the CPU is shared by other processes, std::clock time may advance slower than wall clock. If the current process is multithreaded and more than one execution core is available, std::clock time may advance faster than wall clock.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Contenido

[editar] Parámetros

(Ninguno)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Valor de retorno

Tiempo de procesador utilizado por el programa hasta la fecha o (clock_t)(-1) si esa información no está disponible .
Original:
Processor time used by the program so far or (clock_t)(-1) if that information is unavailable.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Notas

En sistemas compatibles con POSIX, clock_gettime con id reloj CLOCK_PROCESS_CPUTIME_ID ofrece una mejor resolución .
Original:
On POSIX-compatible systems, clock_gettime with clock id CLOCK_PROCESS_CPUTIME_ID offers better resolution.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
El valor devuelto por clock() puede envolver en algunas implementaciones. Por ejemplo, en una máquina con 32-bit std::clock_t, se envuelve después de 2147 segundos o minutos 36 .
Original:
The value returned by clock() may wrap around on some implementations. For example, on a machine with 32-bit std::clock_t, it wraps after 2147 seconds or 36 minutes.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
clock() no está obligado a ser thread-safe .
Original:
clock() is not required to be thread-safe.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Ejemplo

Este ejemplo demuestra la diferencia entre el reloj () tiempo y en tiempo real
Original:
This example demonstrates the difference between clock() time and real time
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

#include <iostream>
#include <chrono>
#include <ctime>
#include <thread>
 
// the function f() does some time-consuming work
void f()
{
    volatile double d;
    for(int n=0; n<10000; ++n)
       for(int m=0; m<10000; ++m)
           d += d*n*m;
}
 
int main()
{
    std::clock_t c_start = std::clock();
    auto t_start = std::chrono::high_resolution_clock::now();
    std::thread t1(f); 
    std::thread t2(f); // f() is called on two threads
    t1.join();
    t2.join();
    std::clock_t c_end = std::clock();
    auto t_end = std::chrono::high_resolution_clock::now();
 
    std::cout << "CPU time used: "
              << 1000.0 * (c_end-c_start) / CLOCKS_PER_SEC
              << " ms\n";
    std::cout << "Wall clock time passed: "
              << std::chrono::duration_cast<std::chrono::milliseconds>(t_end - t_start).count()
              << " ms\n";
}

Salida:

CPU time used: 1520 ms
Wall clock time passed: 769 ms

[editar] Ver también

Convierte un objeto time_t a una representación textual.
(función) [editar]
Devuelve la hora actual del sistema como el tiempo transcurrido desde la época.
(función) [editar]