Форум — Development подсчёт времени 0 0 подскажите как в linux посчитать время работы програмы в милисек или тактах. заранее спасибо. Ссылка
>> Если нужно посчитать время работы какой-то готовой прогрымма - смотри утилиту time. Если это нужно сделать внутри программы - смотри функцию gettimeofday и другие из той же серии. Deleted (28.05.08 22:13:13 MSD) Ссылка
Если реальное время работы - уже сказали. Если процессорное, то смотреть clock_getcpuclockid snizovtsev ★★★★★ (28.05.08 23:01:15 MSD) Ссылка
Ответ на: комментарий от welkam 28.05.08 23:34:26 MSD google: RDTSC Valeriy_Onuchin ★★ (29.05.08 10:09:29 MSD) Показать ответы Ссылка
Ответ на: комментарий от Valeriy_Onuchin 29.05.08 10:09:29 MSD >RDTSC пойдет на древнай машине, современные процы из-за экономии погут этот регистр не инкрементить Pi ★★★★★ (29.05.08 13:59:46 MSD) Показать ответ Ссылка
Ответ на: комментарий от Pi 29.05.08 13:59:46 MSD > >RDTSC > пойдет на древнай машине, современные процы из-за экономии погут этот регистр не инкрементить На древней машине RDTSC может не оказаться вообще. Посему нужно проверять поддержку обязательно. Современные процы? При чем тут процессор вообще? Он такты не считает. andreyu ★★★★★ (29.05.08 14:35:08 MSD) Показать ответ Ссылка
Ответ на: комментарий от Valeriy_Onuchin 29.05.08 10:09:29 MSD rdtsc плохо еще и из-за того что частота может изменяться. gzh (29.05.08 14:54:24 MSD) Показать ответы Ссылка
Ответ на: комментарий от andreyu 29.05.08 14:35:08 MSD RDTSC лучше не использовать, если нужно считать именно *время*, а не *такты процессора*, так как количество тактов в секунду может быть не постоянным. В тему: нашёл ещё одну функцию - clock_gettime - позволяет замерять время с точностью до наносекунд (максимально насколько это позволяет железо). Deleted (29.05.08 15:00:44 MSD) Ссылка
Ответ на: комментарий от gzh 29.05.08 14:54:24 MSD >> rdtsc плохо еще и из-за того что частота может изменяться. Опередил =). Deleted (29.05.08 15:02:17 MSD) Ссылка
Ответ на: комментарий от gzh 29.05.08 14:54:24 MSD > rdtsc плохо еще и из-за того что частота может изменяться. И это не все. suspend-2-ram/disk влияет на rdtsc, с мультиядерностью не все хорошо. Но для измерения коротких интервалов вполне подходит. Для линукса весьма неплох следующий вариант: struct timespec now; clock_gettime(CLOCK_REALTIME, &now); std::printf("%d.%09li\n", now.tv_sec, now.tv_nsec); andreyu ★★★★★ (29.05.08 16:12:12 MSD) Ссылка