![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скорость выполнения
MainKaif © (2003-01-15 00:32:00)Я тут решил оптимизировать свою прогу, но не знаю как проверить скрость выполнения программы. Поскажите кто нибудь как можно проверить скорость выполнения процедуры, функции или куска кода.
Заранее благодарен.
MainKaif (2003-01-15 11:30:00) [1]Всем спосибо сейчас буду пробовать.
Дмитрий К.К. (2003-01-15 11:16:00) [2]Тогда http://www.torry.net/tools/project/profilers/prodel.zip
RWolf (2003-01-15 11:01:00) [3]GetProcessTimes
GetThreadTimes (NT)
возвращают информацию сколько чистого времени выполнялся процесс или поток.
Юрий Зотов (2003-01-15 10:35:00) [4]> Дмитрий К.К. © (15.01.03 06:36)
> Groove © (15.01.03 09:13)
Однако же, Win32 - штука мультизадачная. А если в это время любой другой процесс (сервис и т.д.) захочет что-то сделать, да еще и приподнимет себе приоритет - то что мы получим? Неизвестно что, но только не то, что нужно.
Профайлер нормальный здесь нужен. Они учитывают такие вещи.
tall (2003-01-15 09:39:00) [5]Во нашел ссылочку http://www.torry.net/tools_profilers.htm.
Там, кстати, и другие профилеры есть.
tall (2003-01-15 09:35:00) [6]Вроде эта утилита называется GPPROFILE. Позволяет оценить распределение времени между различными модулями и процедурами.
Groove (2003-01-15 09:13:00) [7]Попробуй так как я делаю:
создай объект List типа TStringList;
в начале и конце каждой процедуры делай
List.Items.Add("Процедура ...(имя процедуры)"+TimeToStr(Now))а при выходе из проги
List.SaveToFile("Optimization.log")
Довольно инрересные результаты получаются
Дмитрий К.К. (2003-01-15 06:36:00) [8]В начале процедуры - GetTickCount и в конце ее тож. Затем вычитай одно из другого.
Kotka (2003-01-15 00:38:00) [9]Запусти свою прогу на пентиуме-90МГц :-)