Как измерить время процессора и время настенных часов?
Я видел много тем об этом, даже на stackoverflow, например:
Как я могу измерить время процессора и время настенных часов в Linux / Windows?
Я хочу измерить время процессора и стены. Хотя человек, который ответил на вопрос в теме, которую я отправил, рекомендует использоватьgettimeofday
чтобы измерить время стены, я прочитал, что лучше использовать вместоclock_gettime
, Итак, я написал код ниже (это нормально, это действительно измеряет время стены, а не время процессора? Я спрашиваю, потому что я нашел веб-страницу:http://nadeausoftware.com/articles/2012/03/c_c_tip_how_measure_cpu_time_benchmarking#clockgettme где говорится чтоclock_gettime
измеряет время процессора ...) Что это за истина и какую мне использовать для измерения времени стены?
Другой вопрос о времени процессора. Я нашел ответ, которыйclock
это здорово, поэтому я написал пример кода для него тоже. Но это не то, что я действительно хочу, для моего кода он показывает мне 0 секунд времени процессора. Можно ли измерить время процессора более точно (в секундах)? Спасибо за любую помощь (сейчас я интересуюсь только решениями для Linux).
Вот мой код:
#include
#include /* printf */
#include /* sqrt */
#include
int main()
{
int i;
double sum;
// measure elapsed wall time
struct timespec now, tmstart;
clock_gettime(CLOCK_REALTIME, &tmstart);
for(i=0; i