Главная страница
    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.45 MB
Время: 0.004 c
2-1228144125
St1m
2008-12-01 18:08
2009.01.18
Наследник TForm


8-1189531969
Dmitry_12_08_73
2007-09-11 21:32
2009.01.18
Перекодировка русских букв в URL


15-1227050125
Германн
2008-11-19 02:15
2009.01.18
Ох уже эти бабы!


4-1204619883
Тфьу
2008-03-04 11:38
2009.01.18
Как узнать высоту заврапленного текста?


2-1228399322
LLiriKK
2008-12-04 17:02
2009.01.18
Проблема с Word





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский