Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить время выполнения подпрограммы? [D7, WinXP]


Vulko ©   (2004-09-12 16:43:00) 

Как определить время выполнения подпрограммы?


Vulko   (2004-09-13 18:29:00) [1]

Семен Сорокин, благодарствую.

evvcom, ну при чём тут это? Знаю я эти демосы... не надо мне смотреть. Мне просто нужно сделать простешую лабу.


Rem   (2004-09-13 13:46:00) [2]

[8]
 Только каждый раз используя одинаковый начальный массив данных.
 Иначе последующим запускам нечего сортировать будет - все уже отсортировано.

"Все уже украдено до нас" (С) Операция Ы :)


Erik1   (2004-09-13 13:37:00) [3]

Иногда нельзя, все от данных зависит и огранизации хранения. Сделай проще запускай 1000 раз сортировку, тогда точно mc хватит.


Vasya.ru   (2004-09-13 13:33:00) [4]

разные виды сортировки выполняются, и сделать вывод - какой метод сортировки лучший
А у кнута, Ахо, Вирта из книжек списать нельзя?


evvcom   (2004-09-13 12:05:00) [5]

В Delphi в Demo есть пример во Threads как раз различные сортировки. Запускаешь, и даже на глаз видно, который из них быстрее работает. Можно добавить свой метод сортировки и тестировать.


Rem   (2004-09-13 10:12:00) [6]

>>сколько по времени разные виды сортировки выполняются
>>Имхо тут миллисекунд не достаточно...


Все от размера массивов, которые сортируются, зависит:

Если массивы по 2 элемента - то и микросекунд не хватит.

А если по 20 млрд. элементов да еще и на диске - то можно и ходиками время замерять.


Семен Сорокин   (2004-09-12 20:03:00) [7]

Vulko ©   (12.09.04 20:01) [3]

см.[2]
QueryPerformanceCounter


Vulko   (2004-09-12 20:01:00) [8]

Семен Сорокин, у меня подпрограмма простейшая (сортировка массива), и нужно как более точно посчитать время работы...

Мне нужно сравнить сколько по времени разные виды сортировки выполняются, и сделать вывод - какой метод сортировки лучший.
Имхо тут миллисекунд не достаточно... Хотя может я и не прав.


kaZaNoVa   (2004-09-12 19:21:00) [9]

Var
k,n,h,p:int64;

***********

procedure taimer(a:boolean);
Begin
if a then begin
p:=gettickcount; QueryPerformanceFrequency(h); QueryPerformanceCounter(k);
end else begin
QueryPerformanceCounter(n);
MessageBox(0,'Ready',Pchar(Inttostr(gettickcount-p)+' ms    ('+(Inttostr(round(1000000*(n-k)/h)))+') microsec'),0);
end;end;


Семен Сорокин   (2004-09-12 18:14:00) [10]

GetTickCount в начале работы подпрограммы и в конце, разница - время работы в миллисекундах


Наверх

Титульная страница Поиск, карта сайта Написать письмо