Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Предложу свой механизм: 03.12.04 12:52 Число просмотров: 2673
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> туплю не по-детски :) > хочу узнать время работы блока > делаю так
Предложу свой механизм:
А для начала правило: все зависит от ОС. Поясню - некоторые ОС не дадут прямой доступ к таймеру, а в некоторых все уже реализовано, только эти функции не стандартизированы в С.
Дажа два варианта:
Первый - в <time.h> есть описание функции clock() и определение CLK_TCK, который определяет дискретность измерения времени функцией clock(). возможны "подводные камни": В некоторых реализациях С единица времени 1/18.2, в некоторых 1/50, в некоторых 1/100, в некоторых 1/1000 секунды. Причем замечено что там, где 1/1000 или что-то в этом духе, там само возвращаемое значение может меняться с бОльшей дискретностью, чем "1".
Второй - можно воспользоваться счетчиком тактов (только для пентиумов, их клонов и выше). На гигагерцовом процессоре время можно измерять с точностью до наносекунд. А в Вашем случае можно и отойти от времени, поскольку для вашей задачи вполне может хватить самого счетчика тактов.
С таймером лучше не связываться, хотя он "тикает" с частотой чуть больше мегагерца (точность - микросекунды).
> time_t t1,t2; > > time(&t1); > > блок кода > > time(&t2); > printf("%f seconds",difftime(t2,t1)); > но время получаем в секундах а мне бы еще и миллисекунды > туда же > как сделать?
|
|
|