Главная страница
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-91154
alex _bredin
2003-04-09 10:35
2003.04.28
Индексы и SQL


3-91196
Filat
2003-04-09 18:10
2003.04.28
Firebird - домен, роли, пользователи - какая м/у ними связь?


14-91447
Alibaba
2003-03-21 16:51
2003.04.28
Третьей мировой не будет!


8-91408
Кутузов Александр
2002-05-29 14:12
2003.04.28
Поддержка mp3 технологий в Delphi 5


1-91349
FZ*XupypG
2003-04-16 04:43
2003.04.28
Создание процедуры, работающей с компонентами