C Chrono: погрузитесь в мир точного времени
C++ chrono предоставляет высокоуровневые классы и функции для работы со временем. Он позволяет измерять прошедшее время с точностью до наносекунд, а также выполнять операции со временем, такие как добавление или вычитание определенного количества времени.
Основные классы, которые используются в chrono:
- duration: класс, представляющий определенный интервал времени. Может быть использован для измерения времени выполнения программы, например. Пример создания объекта типа duration:
cpp
std::chrono::milliseconds duration(100);
- time_point: класс, представляющий точку во времени. Может быть использован для выполнения операций со временем, таких как вычисление разницы между двумя моментами времени. Пример создания объекта типа time_point:
cpp
std::chrono::system_clock::time_point timePoint = std::chrono::system_clock::now();
- clock: класс, представляющий системные часы - источник времени, используемый для создания объектов time_point. В C++ chrono доступны три типа часов: system_clock, steady_clock и high_resolution_clock.
Пример измерения времени выполнения функции с использованием C++ chrono:
cpp
#include
#include
void someFunction(){
for (int i = 0; i < 100000; i++){}
}
int main(){
auto start = std::chrono::high_resolution_clock::now();
someFunction();
auto end = std::chrono::high_resolution_clock::now();
std::chrono::duration elapsed = end - start;
std::cout << "Elapsed time: " << elapsed.count() << " seconds" << std::endl;
return 0;
}
В данном примере мы использовали функции now() для получения time_point до и после выполнения функции someFunction(), а также объект duration, чтобы вычислить время выполнения функции.