Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.18;
Скачать: CL | DM;

Вниз

Время выполнения процесса   Найти похожие ветки 

 
Mixali4   (2008-03-02 22:39) [0]

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


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


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


GetProcessTimes


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


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

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

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

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


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

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


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

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

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

function GetRdtsc: int64; assembler;
asm
 rdtsc
end;


 
Anatoly Podgoretsky ©   (2008-03-03 01:47) [4]

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

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


 
Anatoly Podgoretsky ©   (2008-03-03 01:48) [5]

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


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


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

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



Страницы: 1 вся ветка

Текущий архив: 2009.01.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
1-1205853001
Ega23
2008-03-18 18:10
2009.01.18
Наследование фреймов - подводные камни


15-1227005376
Knight
2008-11-18 13:49
2009.01.18
Откуда это TKGSFormEdge?


15-1225760423
borisich
2008-11-04 04:00
2009.01.18
А меня дочка родилась !!!!!!!!!!!


2-1228590014
barbaroska
2008-12-06 22:00
2009.01.18
IDPOP3 проблема чтения писем


15-1227101960
Mozart
2008-11-19 16:39
2009.01.18
Русский перевод фильмов bbc зло?