Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Время выполнения процедуры


Автор: Fhusy 9.3.2008, 19:28
Написал программу , нужно выяснить быстродействие алгоритма, решил измерить это быстродействие в милисекундах, то бишь скока мили секунд этот алгоритм выполняется, оказалось это меньше чем даже 1 мили секунда, как быть 

Автор: Serhik_z 9.3.2008, 19:40
Код

Msg:='  На алгоритм затрачено '+inttostr(GetTickCount-lasttime)+'мс'; 

Автор: M1xa 9.3.2008, 19:41
Попробуй выполнить процедуру раз 100 подряд и замерить общее время, а потом раздели его на количество выполненных раз

Автор: Riply 9.3.2008, 19:42
Цитата(Fhusy @  9.3.2008,  19:28 Найти цитируемый пост)
оказалось это меньше чем даже 1 мили секунда, как быть  


Можно прогнать процедуру в цикле 10000 раз,
можно использовать что-то типа QueryPerformanceCounter

Автор: lukas 9.3.2008, 19:48
Код

T := GetTickCount;
// Твой алгоритм...
ShowMessage('Выполнено за ' + IntToStr(GetTickCount-T) + ' ms.');

Автор: Esperito 10.3.2008, 23:23
Можно считать в тактах процессора.
Код

function GetTickCount2: Int64;
asm
        db   0fh,31h
end;

Автор: Poseidon 11.3.2008, 14:10
Цитата(Fhusy @  9.3.2008,  19:28 Найти цитируемый пост)
оказалось это меньше чем даже 1 мили секунда, как быть
Что за вопрос? Радоваться нужно!!!

Автор: lukas 11.3.2008, 18:54
обычно меньше 15 миллисекунд не фиксируется... ставь цикл и проверяй.... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)