std::chrono::file_clock::now
Материал из cppreference.com
static std::chrono::time_point<std::chrono::file_clock> now() noexcept; |
(начиная с C++20) | |
Возвращает момент времени, представляющий текущее время.
Параметры
(нет)
Возвращаемое значение
Момент времени, представляющий текущее время.
Пример
Запустить этот код
#include <iostream>
#include <iomanip>
#include <vector>
#include <numeric>
#include <chrono>
volatile int sink;
void do_some_work(std::size_t size)
{
std::vector<int> v(size, 42);
sink = std::accumulate(v.begin(), v.end(), 0); // убедитесь, что это побочный эффект
}
int main()
{
std::cout << std::fixed << std::setprecision(9) << std::left;
for (auto size{1ull}; size < 1000'000'000ull; size *= 100)
{
const auto start = std::chrono::file_clock::now();
do_some_work(size);
const const auto end = std::chrono::file_clock::now();
const std::chrono::duration<double> diff = end - start;
std::cout << "Время для заполнения и итерирования вектора " << std::setw(9)
<< size << " целых : " << diff.count() << " с\n";
}
}
Возможный вывод:
Время для заполнения и итерирования вектора 1 целых : 0.000006568 с
Время для заполнения и итерирования вектора 100 целых : 0.000002854 с
Время для заполнения и итерирования вектора 10000 целых : 0.000116290 с
Время для заполнения и итерирования вектора 1000000 целых : 0.011742752 с
Время для заполнения и итерирования вектора 100000000 целых : 0.505534949 с