Espacios de nombres
Variantes
Acciones

std::chrono::utc_clock::now

De cppreference.com
< cpp‎ | chrono‎ | utc clock
 
 
Biblioteca de servicios
 
 
std::chrono::utc_clock
Funciones miembro
utc_clock::now
E/S de puntos de tiempo
Información de inserción de segundos intercalares
 
(desde C++20)

Devuelve un punto de tiempo que representa el punto en el tiempo actual. El resultado se calcula como si fuera mediante std::chrono::utc_clock::from_sys(std::chrono::system_clock::now()). Las implementaciones pueden usar un valor más exacto de tiempo UTC.

[editar] Parámetros

(Ninguno)

[editar] Valor de retorno

Un punto de tiempo que representa el tiempo actual.

[editar] Ejemplo

#include <iostream>
#include <iomanip>
#include <vector>
#include <numeric>
#include <chrono>
 
volatile int sink;
int main()
{
    std::cout << std::fixed << std::setprecision(9) << std::left;
    for (auto size = 1ull; size < 1000'000'000ull; size *= 100) {
        // registrar tiempo de inicio
        auto start = std::chrono::utc_clock::now();
        // hacer algo de trabajo
        std::vector<int> v(size, 42);
        sink = std::accumulate(v.begin(), v.end(), 0u); // asegrarse que sea un efecto secundario
        // registrar tiempo del fin
        auto end = std::chrono::utc_clock::now();
        std::chrono::duration<double> diff = end - start;
        std::cout << "Tiempo de llenar e iterar sobre un vector de " << std::setw(9)
                  << size << " enteros : " << diff.count() << " s\n";
    }
}

Posible salida:

Tiempo de llenar e iterar sobre un vector de 1         enteros : 0.000006568 s
Tiempo de llenar e iterar sobre un vector de 100       enteros : 0.000002854 s
Tiempo de llenar e iterar sobre un vector de 10000     enteros : 0.000116290 s
Tiempo de llenar e iterar sobre un vector de 1000000   enteros : 0.011742752 s
Tiempo de llenar e iterar sobre un vector de 100000000 enteros : 0.505534949 s