Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
ВнизВремя выполнения процедуры Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.018 c