powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Профилировщик
22 сообщений из 22, страница 1 из 1
Профилировщик
    #39593569
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Подскажите пожалуйста профилировщик. Если он зависит от версии Дельфи то у меня Embarcadero 2010.
Дело в том, что я никогда с такими программами не работал. Недавно вот узнал что удобно сравнивать различные алгоритмы по времени выполнения кода.
...
Рейтинг: 0 / 0
Профилировщик
    #39593578
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AQTime, например.

Профайлеры не раз обсуждались, поищите.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Профилировщик
    #39593583
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

А кроме AQTime разве адекватные профайлеры есть?

А то AQTime стоит откровенно негуманно, да и DRM там уродская.
...
Рейтинг: 0 / 0
Профилировщик
    #39593589
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме AQTime для делфи ничего визуального не помню, чтобы было -- с этой областью у делфи совсем всё плохо относительно других языков. Есть еще бесплатные текстовые профилировщики (которые логи пишут со статистикой). Но это не айс.
...
Рейтинг: 0 / 0
Профилировщик
    #39593603
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну пожалуй сам себе отвечу.

Сейчас полазил еще раз по старым нычкам и таки нашел работающий.

Из полноценных (не Sample) провайдеров есть только этот:

https://github.com/andremussche/asmprofiler

И эта версия даже работает!

Несколько извращенский способ инициализации его, но в целом ничего сложного.
...
Рейтинг: 0 / 0
Профилировщик
    #39593604
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
..
...
Рейтинг: 0 / 0
Профилировщик
    #39593606
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает так:

1. Кладем в каталог с экзешником его DLL.
2. Юзаем _uAsmProfDllLoader.pas
3. Пишем код:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
if _uAsmProfDllLoader.LoadProfilerDll then // Инициализация
  _uAsmProfDllLoader.ShowProfileForm; // открытие визального интерфейса

_uAsmProfDllLoader.StartProfiler(False); // начало сканирования профайлером структуры(!) вашего кода (не сам профайлинг!)
Repaint; // <- вызов моей функции, работу содержимого которой я хочу оттестировать.
_uAsmProfDllLoader.StopProfiler;  // конец сканирования структуры кода

// Профайлер только теперь готов к собственно профайлингу.




4. Дальше выбираем в интерфейса какие из насканированных юнитов и функций вы хотите профайлить.
5. Клик на старт профайлера.
6. Работаем в ПО как обычно.
7. Клик на стоп профайлера.
8. Жмакаем на отчет.
...
Рейтинг: 0 / 0
Профилировщик
    #39593779
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я еще вот натолкнулся на Sampling Profiler ( https://www.delphitools.info/samplingprofiler)
вроде тоже с каким-то интерфейсом. Что нибудь можете сказать?
Потом мне на первое время в основном будет интересно по времени сравнивать, поэтому пока хотелось бы что-нибудь бесплатное)
...
Рейтинг: 0 / 0
Профилировщик
    #39593791
Василий №2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Damir_85я еще вот натолкнулся на Sampling Profiler ( https://www.delphitools.info/samplingprofiler)
вроде тоже с каким-то интерфейсом. Что нибудь можете сказать?
Потом мне на первое время в основном будет интересно по времени сравнивать, поэтому пока хотелось бы что-нибудь бесплатное)
Юзаю его, неплохой. Пригождается для оценки быстродействия/тормозов рабочего цикла в целом. Для сравнения производительности отдельных функций неохота было осваивать сторонний инструмент, так что сделал свой бенчмаркер на примитивном gettickcount, погрешности сглаживаю большим количеством итераций.
...
Рейтинг: 0 / 0
Профилировщик
    #39594660
Василий №2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Василий №2Damir_85я еще вот натолкнулся на Sampling Profiler ( https://www.delphitools.info/samplingprofiler)
вроде тоже с каким-то интерфейсом. Что нибудь можете сказать?
Потом мне на первое время в основном будет интересно по времени сравнивать, поэтому пока хотелось бы что-нибудь бесплатное)
Юзаю его, неплохой. Пригождается для оценки быстродействия/тормозов рабочего цикла в целом. Для сравнения производительности отдельных функций неохота было осваивать сторонний инструмент, так что сделал свой бенчмаркер на примитивном gettickcount, погрешности сглаживаю большим количеством итераций.
Добавлю. Работает только до XE2, но на D7 выдает какие-то совсем неадекватные результаты.
...
Рейтинг: 0 / 0
Профилировщик
    #39594781
rdtsc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Damir_85интересно по времени сравнивать, поэтому пока хотелось бы что-нибудь бесплатное)для сравнения по времени исполнения всего алгоритма вполне достаточно QueryPerformanceFrequency/QueryPerformanceCounter
совершенно бесплатен )) и гораздо точнее gettickcount
...
Рейтинг: 0 / 0
Профилировщик
    #39594797
AWSVladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdtscQueryPerformanceFrequency/QueryPerformanceCounter
Не знаю, я отказался, так как сами вызовы намного прожоливей GetTicCount.
GetTicCount - вообще самая менее ресурсоемкая ф-я.
...
Рейтинг: 0 / 0
Профилировщик
    #39594818
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сейчас в Sampling Profiler загрузил .exe файл. В коде написал просто цикл for от единицы до миллиона, а внутри цикла просто некая переменная суммируется с переменной цикла. Хотел время посмотреть. Он вывел окошко со следующей информацией: Neither TD32. MAP noj JDB information were found, only rough profiling information was gathered.
Показал в таблице какие то проценты для kernel32.dll and user32.dll. А где время работы?)
Может в сети на русском документация на него есть, то что с ним справка идет, не очень подробно.
Кстати я выбрал в списке дельфи ХЕ. (хотя у меня 2010 Embarcadero, Егот тоже кстати пробовал. Выше было написано, что работает только до ХЕ2, хотя в списке имеется и XE4. Я скачал версию 1.8.1)
...
Рейтинг: 0 / 0
Профилировщик
    #39594826
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а кстати приложение консольное сделал, без всяких форм
...
Рейтинг: 0 / 0
Профилировщик
    #39594867
Василий №2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, попутал, до XE4.
Ему для работы нужен map файл либо полная отладочная инфа в экзешнике
...
Рейтинг: 0 / 0
Профилировщик
    #39594871
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий №2Да, попутал, до XE4.
Ему для работы нужен map файл либо полная отладочная инфа в экзешнике
а как отладочную информацию в экзешник записать ? и что за map-файл?
Не могли бы пример привести как это сделать?
...
Рейтинг: 0 / 0
Профилировщик
    #39594872
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вернее, не в экзешник, а как я понял в код что то нужно дописать или директивы какие то выставить
...
Рейтинг: 0 / 0
Профилировщик
    #39594877
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85Василий №2Да, попутал, до XE4.
Ему для работы нужен map файл либо полная отладочная инфа в экзешнике
а как отладочную информацию в экзешник записать ? и что за map-файл?
Не могли бы пример привести как это сделать?

project options - delphi compiler - linking - map file - detailed
...
Рейтинг: 0 / 0
Профилировщик
    #39595136
AWSVladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tactical Nuclear Penguin,

+ JDB - это эксперт джедаевский, который отладочную инфу в эксешник линкует.
...
Рейтинг: 0 / 0
Профилировщик
    #39595823
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
...
Рейтинг: 0 / 0
Профилировщик
    #39715770
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatИ эта версия даже работает!Сейчас затестил. Попытался профилировать COM-сервер - болт. Пришлось лепить костыли и делать запускаемый exe без COM-вызовов
...
Рейтинг: 0 / 0
Профилировщик
    #39715783
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Prodelphi profiler
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Профилировщик
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]