Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2009, 21:11   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Как определить время выполнения конкретный функции?

Смотри, как говорится, выше.

Нужно мне это для того, чтобы максимально "прокачать" каждую функу (или процедуру).
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 23.09.2009, 21:54   #2
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Первое, что приходит в глову - таймер.
В начале функции запускаем, в конце проверяем.
TwiX вне форума Ответить с цитированием
Старый 23.09.2009, 21:59   #3
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

GetTickCount()
BOBAH13 вне форума Ответить с цитированием
Старый 23.09.2009, 22:17   #4
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Вот нашел, должно помочь:
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 23.09.2009, 22:24   #5
grenles
минимакс
Участник клуба
 
Аватар для grenles
 
Регистрация: 11.06.2008
Сообщений: 1,143
По умолчанию

Таймер до

Для статистики можно позапускать выполнение функции в разных условиях
= в цикле и писать время и потом взять статистику.
А в этом время грузить проц - игрухой максимально требующей ресурсы.
А потом все вырубить и оставить вашу функцию

Таймер после

Время выполнения = разница таймеров.

Хотя винда не система реального времени (а скорее всего выполнение будет в ней) поэтому практически время должно "плясать", особенно, если это связано с выборками данных или выполнением "подгрузки-загрузки" в память других процессов.

Еще предложение - это может быть не писать каждый раз время выполнения каждого из 1 000 повторов одного и того же.
А писать время начала и конца, а потом разделить на 1 000? По логике там более вероятно вычислить чистое время выполнения функции, хотя - затраты на организацию цикла.

В любом случае без таймера не обойтись.
и это пройдет...
grenles вне форума Ответить с цитированием
Старый 24.09.2009, 10:06   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Можно изголиться и поставить профайлер типа AutomatedQA.AQTime.
И в нем посмотреть какая функа как нагружается.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.09.2009, 10:22   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Пробовал вот этот ТОПОР. Выводит что-то около 356643346 на тот же пример.
Цитата:
В любом случае без таймера не обойтись.
Таймер показывает во-первых неточно, т.к. у него шаг 15. А процедура может выполнятся окло 2-5 мс.
Цитата:
типа AutomatedQA.AQTime.
А что это и с чем его едят?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 24.09.2009, 11:05   #8
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

GPProfile - дёшево и сердито:-)
Http://programmersforum.ru/showpost....4&postcount=43
пыщь

Последний раз редактировалось JTG; 24.09.2009 в 11:07.
JTG вне форума Ответить с цитированием
Старый 24.09.2009, 11:42   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А что это и с чем его едят?
Это профайлер. Прога анализирующая код и показывающая сколько времени уходит на обработку иго частей и еще много другой информации, помогающей оптимизировать код. Сильная чтука.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как отключить отображение изменений во время выполнения макроса? AnnNet Microsoft Office Excel 1 15.04.2009 14:43
Как создать компонент в ран-тайме (во время выполнения программы) Ky3Heu, Общие вопросы Delphi 2 02.04.2009 12:12
Как удалить вкладку TabSheet во время выполнения программы SibBear Общие вопросы Delphi 27 18.03.2009 17:28
определить время выполнения процедуры? Bezdar Microsoft Office Excel 4 20.01.2009 13:57
Как определить время работы процедуры или операции? Roof Общие вопросы Delphi 7 18.01.2009 21:56