РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
532 of 815 menu

Класс high_resolution_clock

Класс high_resolution_clock представляет собой часы с наименьшим возможным периодом тика, доступным в системе. Он используется для измерения очень коротких интервалов времени с максимальной точностью. Этот класс не имеет конструктора и не может быть создан как объект. Вместо этого он предоставляет статические методы для получения текущего времени. Класс high_resolution_clock является псевдонимом либо для system_clock, либо для steady_clock, в зависимости от реализации стандартной библиотеки. Основное его преимущество - это минимальный шаг времени (период), который можно получить с помощью вложенного типа period.

Синтаксис

#include <chrono> std::chrono::high_resolution_clock::now();

Пример

Давайте измерим время выполнения простого цикла с помощью high_resolution_clock. Для этого зафиксируем время до и после цикла и вычислим разницу:

#include <iostream> #include <chrono> int main() { auto start = std::chrono::high_resolution_clock::now(); // Some work volatile int sum = 0; for (int i = 0; i < 1000000; ++i) { sum += i; } auto end = std::chrono::high_resolution_clock::now(); auto duration = std::chrono::duration_cast<std::chrono::microseconds>(end - start); std::cout << "Duration: " << duration.count() << " microseconds" << std::endl; return 0; }

Результат выполнения кода (значение зависит от производительности системы):

"Duration: 1234 microseconds"

Пример

Давайте выведем период тика high_resolution_clock, чтобы понять его точность:

#include <iostream> #include <chrono> int main() { using namespace std::chrono; using period = high_resolution_clock::period; std::cout << "Period: " << period::num << "/" << period::den << " seconds" << std::endl; return 0; }

Результат выполнения кода (зависит от системы, например, для наносекунд):

"Period: 1/1000000000 seconds"

Смотрите также

  • класс steady_clock,
    который представляет монотонные часы
  • класс system_clock,
    который представляет системные часы реального времени
  • метод now,
    который возвращает текущий момент времени
  • класс time_point,
    который представляет точку во времени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить