Russian Qt Forum
Ноябрь 22, 2024, 18:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Чем помжно заменить GetTickCount();  (Прочитано 6066 раз)
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« : Март 22, 2005, 16:17 »

Пишу класс измеряющий время работы куска кода,

под виндой время можно получить GetTickCount();

а как под linux?
Записан
ANM
Гость
« Ответ #1 : Апрель 26, 2005, 12:09 »

Используй gettimeofday()
Пример:
Код:
unsigned GetMicroseconds()
{
struct timeval tv;
::gettimeofday( &tv, 0 );
typedef unsigned long long TimeValue;
TimeValue cur = TimeValue(tv.tv_sec) * TimeValue(1000000) + TimeValue(tv.tv_usec);
return unsigned(cur);
}

Есть одна неприятность - если в системе перевести время, текущее значение в gettimeofday тоже изменится.
Теоретически лучше всего подходит функция clock_gettime c идентификатором CLOCK_MONOTONIC. Но ее почему то убрали из glibc  :x
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 22.