Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2009.01.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2009.01.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
2-1228255215
Te
2008-12-03 01:00
2009.01.18
Работа с классом


1-1206530639
Igor_34
2008-03-26 14:23
2009.01.18
документ Word и компонент WebBrowser


15-1227178236
axis_of_evil
2008-11-20 13:50
2009.01.18
я отстал от технической составляющей жизни


2-1228224496
programmer90
2008-12-02 16:28
2009.01.18
Работа со char массивом


2-1228206229
Vitaliy_____
2008-12-02 11:23
2009.01.18
TList и много объектов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский