Главная страница
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.018 c
3-91214
V21
2003-04-10 16:08
2003.04.28
Переход от BDE к FIBPlus


14-91524
Pitay
2003-04-10 21:25
2003.04.28
Клавиатура


14-91504
zDEUSz
2003-04-10 16:27
2003.04.28
Таймер?


3-91208
gram
2003-04-10 13:06
2003.04.28
Отображение данных из разных таблиц в DBGride


1-91367
Seledka
2003-04-16 11:16
2003.04.28
Blob