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

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

Время выполнения процесса [D7, WinXP]


Mixali4 ©   (2008-03-02 22:39:00) 

Как узнать сколько времени выполняется какой либо процесс (функция, цикл и т.д.)? Или как хотя бы определить системное время с точностью больше чем 10 в минус 3 секунды?
Спасибо


Германн   (2008-03-03 02:35:00) [1]


> Anatoly Podgoretsky ©   (03.03.08 01:48) [5]
>
> И еще одно маленькое замечание, слово assembler не нужно.
>
>

Это уже удар ниже пояса! :(


Anatoly Podgoretsky   (2008-03-03 01:48:00) [2]

И еще одно маленькое замечание, слово assembler не нужно.


Anatoly Podgoretsky   (2008-03-03 01:47:00) [3]

> Игорь Шевченко  (03.03.2008 00:59:03)  [3]

Ну и чтобы не связываться с ассемблером, использовать GetPerformanceCounter
чаще всего это почти одно и тоже. Только rdtsc может измерять более тонкие интервалы времени.


Игорь Шевченко   (2008-03-03 00:59:00) [4]

Anatoly Podgoretsky ©   (03.03.08 00:17) [2]

Виноват, исправляюсь:)

function GetRdtsc: int64; assembler;
asm
 rdtsc
end;


Anatoly Podgoretsky   (2008-03-03 00:17:00) [5]

В Д7 rdtsc доступно без кодирования константой.


Игорь Шевченко   (2008-03-02 23:33:00) [6]


> Как узнать сколько времени выполняется какой либо процесс


GetProcessTimes


> (функция, цикл и т.д.)?
> Или как хотя бы определить системное время с точностью больше
> чем 10 в минус 3 секунды?


Использовать команду rdtsc

function GetRdTsc: int64; assembler;
asm
 DW 310Fh
end;

var
 StartTsc, DiffTsc: int64;
...
begin
Перед началом процесса
 StartTsc := GetRdTsc;
 ..процесс..
 DiffTsc := GetRdTsc - StartTsc;
end;

Переменная Difftsc содержит количество тактов процессора, затраченных на время выполнения. Зная тактовую частоту процессора можно вычислить время выполнения.


Наверх

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