Как измерить прошедшее время в C++?
Измерение затраченного времени является общим требованием для большинства пакетов разработки программного обеспечения. Он используется для определения эффективности программы и дает представление о том, какие части программы занимают столько времени. Это помогает оптимизировать код, что улучшает время его выполнения. В этой статье вы узнаете, как измерить прошедшее время в C++.
* В процессе будет использоваться функция high_resolution_clock::now заголовочного файла хроно. Этот заголовочный файл может отсутствовать в старых версиях GCC.
Измерение прошедшего времени
Для измерения прошедшего времени будут собраны две метки времени. Один в начале кода, другой в конце. Затем мы вычтем две метки времени, и разница во времени между ними предоставит нам прошедшее время.
Выход:
Elapsed Time: 116
Объяснение: Были импортированы соответствующие файлы заголовков. В начале основного кода метка времени берется вызовом функции high_resolution_clock::now, и данные сохраняются в переменной beg. После чего должен прийти собственно код, прошедшее время которого нужно измерить. Для демонстрации запускается цикл от 0 до 50000, который ничего не делает в своем теле. Это делается для создания события, которое занимает некоторое время. После чего выполняется еще один вызов функции high_resolution_clock::now и возвращаемые данные сохраняются в переменной end.
После чего получается разница между переменной end и переменной beg , и результат приводится с точностью до миллисекунд в операторе duration_cast<microseconds>(end – beg) . Это дает нам время, прошедшее между первым вызовом функции часов и последним вызовом. В конце прошедшее время отображается с помощью функции подсчета .
Примечание. Причина, по которой миллисекунды выбраны в качестве точности, заключается в том, что большинство компьютеров способны выполнять такие тривиальные задачи (например, циклы) менее чем за секунду. Следовательно, если бы точность была выбрана в секундах, мы бы получили 0 в качестве прошедшего времени. Поэтому для демонстрации эффекта были выбраны миллисекунды. Это можно изменить на другую точность времени, заменив микросекунды между угловыми скобками на выбранный вами период времени.