Как рассчитать время работы в микросекундах на С++?
Необходимое условие: библиотека Chrono на C++.
Задача состоит в том, чтобы рассчитать время работы программы в микросекундах на C++.
Заголовочный файл:
#include<chrono>
Библиотека Chrono обрабатывает операции, связанные со временем и датой. Эта библиотека учитывает тот факт, что таймеры и часы могут быть разными в разных системах и, таким образом, со временем улучшаться с точки зрения точности.
Chrono — это и заголовочный файл, и даже пространство имен. Все элементы в этом заголовке (за исключением специализаций common_type) определены не непосредственно в пространстве имен std (как и большая часть стандартной библиотеки), а в пространстве имен std::chrono.
Использование duration_cast:
Здесь function_performing_iterations() — это фиктивная функция, которая выполняет итерацию от i=1 до i=10^7. Теперь начнем считать время, написав
auto duration = duration_cast<microseconds>(stop1 - start1);
Теперь, когда компилятор выполняет функцию-> function_performing_iterations(), управление снова возвращается к main(), после чего время останавливается. (Для справки можно предположить, что это гонка, т.е. когда в гонке, как только бегуны начинают бежать, запускается таймер, а когда они достигают финиша, таймер останавливается)
Теперь время рассчитывается как:
auto duration = duration_cast<microseconds>(stop1 - start1);
Наконец, время в микросекундах печатается путем приведения типа к типу double, поскольку нормальное деление a/b возвращает целочисленное значение.
Пример:
Выход:
Time taken in microseconds : 14.963
С помощью библиотеки Boost
Библиотеки Boost предназначены для широкого применения и использования в широком спектре приложений. Например, они полезны для обработки больших чисел, имеющих диапазон, выходящий за пределы типа данных long long, long double (264) в C++.
Монтаж:
Пожалуйста, обратитесь к этой статье для установки наддува. Мы можем скачать zip-файл. После этого нам просто нужно извлечь все в указанную папку GCC, или мы можем сделать это легко с помощью командной строки.
Пример:
Выход: