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

Вниз

Как узнать время выполнения процедуры   Найти похожие ветки 

 
Балбес   (2003-04-13 23:24) [0]

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


 
neodiX ©   (2003-04-13 23:31) [1]

В начале процедуры пишешь:
l:=getTickCount;
где l, это var l:longint;
в конце
edit1.text:=inttostr(gettickcount-l);
так, ты в милисекудах получишь время выполнения процедуры


 
Балбес   (2003-04-13 23:34) [2]

Огромное спасибо, за оперативный ответ!!!
ОГРОМНОЕ! СПАСИБО!!!
Не ожидал, если честно :-)


 
neodiX ©   (2003-04-13 23:51) [3]

:)
Не привыкай. Чем сложнее вопросы, тем дольше ждать придется. Иногда пока ждешь, сам выесняешь проблему. Может и хорошо :)


 
Юрий Зотов ©   (2003-04-14 00:18) [4]

> так, ты в милисекудах получишь время выполнения процедуры

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

Чтобы снизить погрешность до минимума, можно перед выполнением процедуры установить своему процессу и потоку максимальные приоритеты, а после ее выполнения - снять их. Лучше делать это в блоке try-finally.


 
neodiX ©   (2003-04-14 00:48) [5]

>Юрий Зотов
Полностью согласен


 
kravchuk ©   (2003-04-14 15:46) [6]

Есть вроде неплохие утилиты для этого, профайлеры www.torry.net Profilers, помоему


 
Балбес   (2003-04-16 23:49) [7]

В profilers нашёл такую ерунду:
в модуле mmsystem функция timeGetTime, она идентична GetClockCount, по-моему...
А как приоритет-то менять?


 
Спрашивающий   (2003-04-17 01:46) [8]

procedure IdlePro;
begin
SetPriorityClass(GetCurrentProcess, IDLE_PRIORITY_CLASS );
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_IDLE );
end;


procedure NormPro;
begin
SetPriorityClass(GetCurrentProcess, NORMAL_PRIORITY_CLASS );
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_NORMAL );
end;

procedure HigPro;
begin
SetPriorityClass(GetCurrentProcess, HIGH_PRIORITY_CLASS );
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_HIGHEST );
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
3-91202
Некто2002
2003-04-10 12:23
2003.04.28
Перехват событий


4-91587
TankMan
2003-01-22 10:07
2003.04.28
Хук на Api


14-91531
VID
2003-04-11 01:37
2003.04.28
Доки по Photoshop


3-91150
me2
2003-04-08 14:52
2003.04.28
Две трансакции


14-91509
Sheng
2003-04-09 16:52
2003.04.28
Рейтинг запуска программ на компе