Главная страница
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.02 c
3-91192
AleksandrKu
2003-04-09 17:06
2003.04.28
Query дублирует записи как от этого избавиться


3-91172
DenKop
2003-04-07 23:57
2003.04.28
SQL Поиск с применением UNION


11-91241
Arioch
2002-07-16 11:51
2003.04.28
Free compilers?


3-91197
skirdov
2003-04-10 10:21
2003.04.28
Ввод даты в dxDBGrid


1-91270
Mamuka
2003-04-17 10:33
2003.04.28
TListView