Главная страница
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.043 c
15-1165336072
vrem
2006-12-05 19:27
2007.01.07
Тарелку - ставить или не ставить?


15-1166412168
Slider007
2006-12-18 06:22
2007.01.07
С днем рождения ! 18 декабря


15-1166203691
Loginov Dmitry
2006-12-15 20:28
2007.01.07
Чушь получается. Почему? Кто скажет?


1-1163397281
MetalFan
2006-11-13 08:54
2007.01.07
и снова про WebBrowser


15-1166092041
Vlad Oshin
2006-12-14 13:27
2007.01.07
MySql и/или MSSQL Логи. Как делать?