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

Вниз

Время выполнения процедуры   Найти похожие ветки 

 
AlexanderMS ©   (2006-07-05 18:58) [0]

Как мне узнать, как долго выполнялась та или иная процедура? Мне нужно найти самый быстрый способ реализации алгоритма. Как мне узнать это время?


 
StriderMan ©   (2006-07-05 18:59) [1]

логи вести


 
Пусик ©   (2006-07-05 19:13) [2]

function TickCount:Int64;
begin
QueryPerformanceCounter(Result);
end;

function DeltaTickToSeconds(const Delta: Int64):Double;
var
TickFreq: Int64;
begin
QueryPerformanceFrequency(TickFreq);
Result := Delta/TickFreq;
end;

var
 BeginTime: Int64;
 ProcTIme: Int64;
begin
 BeginTime := TickCount;
 <Выполнение процедуры>
 ProcTme := DeltaTickToSeconds(TickCOunt-BeginTime);


см. также GetThreadTimes.


 
Virgo_Style ©   (2006-07-05 19:13) [3]

Now и GetTickCount, например


 
Пусик ©   (2006-07-05 19:26) [4]


> Пусик ©   (05.07.06 19:13) [2]


Прошу прощения. Типы данных не те:

var
 BeginTime: Int64;
 ProcTime: Double;
begin
 BeginTime := TickCount;
 <Выполнение процедуры>
 ProcTme := DeltaTickToSeconds(TickCOunt-BeginTime);


 
koha ©   (2006-07-05 19:28) [5]

Попробуй так:

var
 Form1: TForm1;
 TimeStart,TimeEnd: integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 TimeStart:=GetTickCount();
 sleep(100);
 TimeEnd:=GetTickCount()-TimeStart;
 ShowMessage(IntToStr(TimeEnd));
end;


Время получишь в "милесекондсах".


 
umbra ©   (2006-07-05 19:40) [6]

а какая точность нужна? если низкая, то можно просто в начале функции и в ее конце получать значение функции Now, и по разности этих значений определять прошедшее время



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

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

Наверх




Память: 0.48 MB
Время: 0.052 c
15-1150800117
Megabyte
2006-06-20 14:41
2006.07.23
Преимущества/удобства использования Dll и BPL


15-1150699638
Карелин Артем
2006-06-19 10:47
2006.07.23
1.5 миллиона человек в городе, а все-равно как деревня.


2-1151820212
Gizza
2006-07-02 10:03
2006.07.23
Перемещение строк в StringGrid


4-1144642984
Vad
2006-04-10 08:23
2006.07.23
Меню чужого приложения


15-1150835157
Axis_of_Evil
2006-06-21 00:25
2006.07.23
В остнастке "управление компьютером"