[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Программерам: как узнать разницу времени



Привет всем!

Программерский вопрос.

Хочу узнать в программе, сколько времени прошло между двумя событиями.
Вроде простая задача: запомнил одно время, получил второе, из второго
вычел первое - и делов-то. Но если задуматься:
1) time() и gettimeofday() не катят - юзер или демон ntp может это
  время поменять в промежутке между двумя событиями и мы получим
  неизвестно что.
2) times() - ман говорит, что в линуксе это время в тиках от старта
   системы. Если написать простейший тест и посчитать то, что он
   возвращает - то это нихрена не от старта, но то, что это не зависит
   от текущего времени - это факт.

   Но! В BSD этот же ман говорит, что times - obsoleted и возвращает
   время в тиках от 01.01.1970 00:00:00, что уже автоматические зависит
   от текущего времени. (Что он возвращает на самом деле, не проверял)

3) clock() у меня в линуксе хронически возвращает ноль и хоть убейся.

Короче, кто-нибудь знает более-менее мультиплатформенный способ добыть
такую информацию? Я думаю, что любая ОС в ядре её имеет - ядрённый
таймауты должны же как-то работать вне зависимости от текущего времени.
В линуксовом ядре, например, это jiffies. Но в юзерспейсе чего-то
подобного не нашел.

--
  Макс



Reply to: