Вы можете использовать функцию clock()
из <time.h>
:
Функция clock () возвращает приблизительное время процессора, используемое программой.
Вы делите возвращаемое значение на макрос CLOCKS_PER_SEC
, чтобы получить величину времени в секундах, и если вы хотите, чтобы время в миллисекундах, вы могли умножить значение на 1000, то есть:
double get_time_as_ms(void) {
return ((double)(clock() * 1000) / CLOCKS_PER_SEC);
}
Или, точнее,иметь начало и конец clock_t
, а затем вычислить разницу:
double duration_as_ms(clock_t start, clock_t end) {
return ((double)(end - start) * 1000) / CLOCKS_PER_SEC;
}
clock_t start = clock(); /* start of program */
/* ... */
clock_t end = clock(); /* end of program */
/* ... */
printf("Duration: %fms\m", duration_as_ms(start, end));
РЕДАКТИРОВАТЬ: Просто подумал, я бы добавил, общее значение для CLOCKS_PER_SEC
равно 1000000
,Это означает, что значение, возвращаемое clock()
, будет сто тысячной доли секунды.Поэтому с точностью до одной тысячной миллисекунды (микросекунды).