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

Функция now

Функция now класса high_resolution_clock возвращает объект time_point, представляющий текущий момент времени. Этот класс предназначен для измерения коротких интервалов времени с наивысшей точностью, которую может обеспечить система. Функция не принимает параметров. Возвращаемое значение зависит от реализации и может использовать самые точные часы из доступных в операционной системе.

Синтаксис

static time_point now() noexcept;

Пример

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

#include <iostream> #include <chrono> using namespace std; using namespace std::chrono; int main() { auto start = high_resolution_clock::now(); long long sum = 0; for (int i = 0; i < 1000000; i++) { sum += i; } auto end = high_resolution_clock::now(); auto duration = duration_cast<microseconds>(end - start); cout << "Sum: " << sum << endl; cout << "Time: " << duration.count() << " microseconds" << endl; return 0; }

Результат выполнения кода:

"Sum: 499999500000" "Time: 1234 microseconds"

Пример

Давайте сравним точность high_resolution_clock и system_clock, измерив одно и то же действие:

#include <iostream> #include <chrono> using namespace std; using namespace std::chrono; int main() { auto start_hr = high_resolution_clock::now(); auto start_sys = system_clock::now(); volatile int res = 0; for (int i = 0; i < 100000; i++) { res += i; } auto end_hr = high_resolution_clock::now(); auto end_sys = system_clock::now(); auto dur_hr = duration_cast<nanoseconds>(end_hr - start_hr); auto dur_sys = duration_cast<nanoseconds>(end_sys - start_sys); cout << "High resolution: " << dur_hr.count() << " ns" << endl; cout << "System clock: " << dur_sys.count() << " ns" << endl; return 0; }

Результат выполнения кода:

"High resolution: 45000 ns" "System clock: 52000 ns"

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

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