Предоставляет ли Linux / Unix / Posix API для приложений пользовательского пространства для доступа к монотонно возрастающим часам с точностью от сотых до миллисекунд?
В Linux / proc / uptime предоставляет строковое представление числа с плавающей запятой количества секунд, в течение которых система работала.
gettimeofday (2) не предоставляет монотонно возрастающие часы.
Я мог бы использовать getitimer (2) во временном интервале ITIMER_REAL, установить таймер на запуск с максимума (зависящего от платформы) и игнорировать сгенерированный сигнал, но, согласно справочной странице, максимальная длительность работы таймера составляет примерно 100 дней, что короче, чем ожидаемое время выполнения.





Есть clock_gettime:
struct timespec tp;
clock_gettime(CLOCK_MONOTONIC, &tp);
Используйте функцию POSIX clock_gettime() с CLOCK_MONOTONIC. Подробнее см. страница руководства.