Я пытаюсь использовать time() для измерения различных точек моей программы.
Что я не понимаю, почему значения в до и после одинаковы? Я понимаю, что это не лучший способ профилировать мою программу, я просто хочу посмотреть, сколько времени займет что-то.
printf("**MyProgram::before time= %ld\n", time(NULL));
doSomthing();
doSomthingLong();
printf("**MyProgram::after time= %ld\n", time(NULL));
Я пробовал:
struct timeval diff, startTV, endTV;
gettimeofday(&startTV, NULL);
doSomething();
doSomethingLong();
gettimeofday(&endTV, NULL);
timersub(&endTV, &startTV, &diff);
printf("**time taken = %ld %ld\n", diff.tv_sec, diff.tv_usec);
Как я могу прочитать результат **time taken = 0 26339
? Означает ли это 26,339 наносекунд = 26,3 мсек?
Как насчет **time taken = 4 45025
, означает ли это 4 секунды и 25 мсек?