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

Вниз

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

 
DmitrichJ   (2006-12-15 18:36) [0]

Подскажите пожалуйста как можно измерить время выполнения каких-то действий. Например выполнения SQL запросв и помещение данных в таблицу, ведь если использовать Timer, то он просто-напросто останавливается. Спасибо.


 
Eraser ©   (2006-12-15 18:42) [1]

> [0] DmitrichJ   (15.12.06 18:36)


var
 t1: TDateTime;
...
 t1 := Now;
 // Выполниение опр. действий.
...
 t1 := Now - t1; // В t1 "время выполнения каких-то действий"


 
DmitrichJ   (2006-12-15 18:43) [2]

Поспешил с вопросом. вот наилучшее решение:
Вообще то GetTickCount имеет погрешность от 55 ms до 10 ms. А вот чтоб с точностью до 0.0083 милисекунды, то делай так. Создай ворму с кнопкой Button1 и Label1.

procedure TForm1.Button1Click(Sender: TObject);
Var
 c,t1,t2:TlargeInteger;
 i:integer;
begin
 QueryPerformanceFrequency(c); //Считываем Частоту
 QueryPerformanceCounter(t1);  //Считываем таймер 1

 for i:=1 to 10 do canvas.lineto(random(300),random(300));
 // тут грузим комп каким нибудь заданием. В твоем случае сортировка
 // Я тут просто калякаю линии

 QueryPerformanceCounter(t2); //Считываем таймер 2
 label1.Caption:=format("Время сортировки : %g", [(t2-t1)/c]);
end


 
Desdechado ©   (2006-12-15 21:06) [3]

Гораздо правильнее брать среднее между множественными выполнениями одного и того же. Особенно если выполняется что-то очень короткое и зависящее от внешних факторов (для SQL - кэшированность данных на сервере, например).
Загоняем в цикл на 1000 итераций и результат делим на 1000.



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

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

Наверх




Память: 0.47 MB
Время: 0.085 c
15-1166183512
Tupoy
2006-12-15 14:51
2007.01.07
Help для Delphi


2-1166099460
kukuikar
2006-12-14 15:31
2007.01.07
Результаты работы функций (работа с файлами и каталогами)


15-1166514094
zdm
2006-12-19 10:41
2007.01.07
Windows Vista and BDS 2006


15-1166292829
<[exe-cutt3r]>
2006-12-16 21:13
2007.01.07
Задачи по D7


11-1142886978
GMax
2006-03-20 23:36
2007.01.07
TabControl + Tab Key :)