![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
BCworm |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 23.8.2007 Репутация: нет Всего: нет |
Привет всем.
Подскажите пожалуйста чем можно провести бенчмарк - т.е чем можно замерить время выполнения программы в зависимости от объема данных? Может есть какие функции чтоб можно было вставить в код? Может есть какие проги специально под делфи? |
|||
|
||||
RockClimber |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 848 Регистрация: 5.5.2006 Где: планета 013 в тен туре Репутация: нет Всего: 15 |
Я использую GetTickCount для измерения времени выполнения какого-либо действия. Мне хватает.
-------------------- Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит. |
|||
|
||||
AntonN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.8.2006 Репутация: 3 Всего: 18 |
Использовать QueryPerformanceCounter(), дающий более точные результаты.
|
|||
|
||||
kami |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 23 Всего: 72 |
AQTime.
Позволяет замерять много чего, в том числе и время выполнения функций. Из минусов - платная. |
|||
|
||||
BCworm |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 23.8.2007 Репутация: нет Всего: нет |
Предложенный AntonN вариант - QueryPerformanceCounter() Это именно то что надо. Получилось работает! в смысле показания меняются в зависимости от загрузки при желании можно и график построить НО! Насколько я понял счет ведется не в сек и м.сек.
А в чем? У меня получаются значения типа 0.0014562349882 Как это превратить в миллисекунды? Или это ни и есть? Подскажите пожалуйста. |
|||
|
||||
AntonN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.8.2006 Репутация: 3 Всего: 18 |
BCworm, это результат в секундах
![]() чтобы перевести в миллисекунды умнож на 1000 |
|||
|
||||
BCworm |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 23.8.2007 Репутация: нет Всего: нет |
Ясно спасибо большое вопрос закрыт!
|
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Вот еще профайлер - довольно древний, но официально безплатный. С новыми делфями подглючивает при интеграции в среду, но ничего не мешает запускать его вручную как простое приложение.
Присоединённый файл ( Кол-во скачиваний: 4 ) ![]() -------------------- Обижено школьников: 8 |
|||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 3 Всего: 7 |
Небольшая статья на тему оптимизации: http://www.rsdn.ru/article/philosophy/Optimization.xml
ИМХО в ряде практически важных случаев, когда пользователь дает команду и ждет ее результатов, а время выполнения намного больше одной секунды миллисекунды мерить смысла нету, хватит и обычной Now. Кроме того, не всегда можно сразу понять, куда производительность уходит, у меня был случай, когда один и тот же код откомпилированный в Delphi 2007 давал ЕМНИП 27-28 секунд, а в Delphi 2009 аж 42 секунды (анализ с отчетом в Excel примерно 207000 записей в БД). Все время уходило на поиск полей по имени и "преимущества" юникода проявлялись во всей красе. После нудного переписывания на обращения по индексам время выполнения сравнялось. Это сообщение отредактировал(а) Beltar - 11.10.2009, 21:23 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |