Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Таймер реального режима и подсчет времени


Интересующийся ©   (2003-07-27 04:28:00) 

Добрый день!
Может кто подскажет, как в Delphi узнать время с точностью до милесекунд в реальном режиме.

Нужно подсчитать время выполнения процедур и функций проги.


Игорь Шевченко   (2003-07-28 11:18:00) [1]

Командой процессора rdtsc.
Например http://www.midnightbeach.com/jon/pubs/rdtsc.htm


AlexRush   (2003-07-28 11:09:00) [2]

2Fenik © (27.07.03 13:08) - в этом случае не учитывается тот момент, что во время "замера" (между x := GetTickCount; {перед началом процесса}и x := GetTickCount - x; {после завершения процесса}) может осуществиться переключение на другой поток. Поэтому рекомендую перед замером брать высший приоритет для процеса и потока ( SetThreadPriorityи SetPriorityClass).

Если же размер замеряемого на скорость выполнения кода невелик, то таким способом поемерять реальную скорость вообще нельзя.
Если есть возможность исполнить проверяемый код в нулевом кольце защиты (драйвер), то можно воспользоваться расширением Pentium"ов для замерки скорости.


Fenik   (2003-07-27 13:08:00) [3]

x := GetTickCount; {перед началом процесса}
...
x := GetTickCount - x; {после завершения процесса}

В "х" будет то, что тебе нужно в милесекундах.


IntLex   (2003-07-27 10:14:00) [4]

Просто получить значение функции Time()


Наверх

Титульная страница Поиск, карта сайта Написать письмо