|
|
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Подскажите пожалуйста профилировщик. Если он зависит от версии Дельфи то у меня Embarcadero 2010. Дело в том, что я никогда с такими программами не работал. Недавно вот узнал что удобно сравнивать различные алгоритмы по времени выполнения кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2018, 20:05 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
AQTime, например. Профайлеры не раз обсуждались, поищите. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2018, 20:40 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, А кроме AQTime разве адекватные профайлеры есть? А то AQTime стоит откровенно негуманно, да и DRM там уродская. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2018, 20:50 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Кроме AQTime для делфи ничего визуального не помню, чтобы было -- с этой областью у делфи совсем всё плохо относительно других языков. Есть еще бесплатные текстовые профилировщики (которые логи пишут со статистикой). Но это не айс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2018, 20:57 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Ну пожалуй сам себе отвечу. Сейчас полазил еще раз по старым нычкам и таки нашел работающий. Из полноценных (не Sample) провайдеров есть только этот: https://github.com/andremussche/asmprofiler И эта версия даже работает! Несколько извращенский способ инициализации его, но в целом ничего сложного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2018, 21:22 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Работает так: 1. Кладем в каталог с экзешником его DLL. 2. Юзаем _uAsmProfDllLoader.pas 3. Пишем код: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 4. Дальше выбираем в интерфейса какие из насканированных юнитов и функций вы хотите профайлить. 5. Клик на старт профайлера. 6. Работаем в ПО как обычно. 7. Клик на стоп профайлера. 8. Жмакаем на отчет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2018, 21:32 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
я еще вот натолкнулся на Sampling Profiler ( https://www.delphitools.info/samplingprofiler) вроде тоже с каким-то интерфейсом. Что нибудь можете сказать? Потом мне на первое время в основном будет интересно по времени сравнивать, поэтому пока хотелось бы что-нибудь бесплатное) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2018, 11:11 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Damir_85я еще вот натолкнулся на Sampling Profiler ( https://www.delphitools.info/samplingprofiler) вроде тоже с каким-то интерфейсом. Что нибудь можете сказать? Потом мне на первое время в основном будет интересно по времени сравнивать, поэтому пока хотелось бы что-нибудь бесплатное) Юзаю его, неплохой. Пригождается для оценки быстродействия/тормозов рабочего цикла в целом. Для сравнения производительности отдельных функций неохота было осваивать сторонний инструмент, так что сделал свой бенчмаркер на примитивном gettickcount, погрешности сглаживаю большим количеством итераций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2018, 11:25 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Василий №2Damir_85я еще вот натолкнулся на Sampling Profiler ( https://www.delphitools.info/samplingprofiler) вроде тоже с каким-то интерфейсом. Что нибудь можете сказать? Потом мне на первое время в основном будет интересно по времени сравнивать, поэтому пока хотелось бы что-нибудь бесплатное) Юзаю его, неплохой. Пригождается для оценки быстродействия/тормозов рабочего цикла в целом. Для сравнения производительности отдельных функций неохота было осваивать сторонний инструмент, так что сделал свой бенчмаркер на примитивном gettickcount, погрешности сглаживаю большим количеством итераций. Добавлю. Работает только до XE2, но на D7 выдает какие-то совсем неадекватные результаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 10:10 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Damir_85интересно по времени сравнивать, поэтому пока хотелось бы что-нибудь бесплатное)для сравнения по времени исполнения всего алгоритма вполне достаточно QueryPerformanceFrequency/QueryPerformanceCounter совершенно бесплатен )) и гораздо точнее gettickcount ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 11:33 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
rdtscQueryPerformanceFrequency/QueryPerformanceCounter Не знаю, я отказался, так как сами вызовы намного прожоливей GetTicCount. GetTicCount - вообще самая менее ресурсоемкая ф-я. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 11:57 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Я сейчас в 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) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 12:18 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
а кстати приложение консольное сделал, без всяких форм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 12:28 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Да, попутал, до XE4. Ему для работы нужен map файл либо полная отладочная инфа в экзешнике ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 13:20 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Василий №2Да, попутал, до XE4. Ему для работы нужен map файл либо полная отладочная инфа в экзешнике а как отладочную информацию в экзешник записать ? и что за map-файл? Не могли бы пример привести как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 13:26 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
вернее, не в экзешник, а как я понял в код что то нужно дописать или директивы какие то выставить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 13:27 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Damir_85Василий №2Да, попутал, до XE4. Ему для работы нужен map файл либо полная отладочная инфа в экзешнике а как отладочную информацию в экзешник записать ? и что за map-файл? Не могли бы пример привести как это сделать? project options - delphi compiler - linking - map file - detailed ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 13:33 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
Tactical Nuclear Penguin, + JDB - это эксперт джедаевский, который отладочную инфу в эксешник линкует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 18:05 |
|
||
|
Профилировщик
|
|||
|---|---|---|---|
|
#18+
rgreatИ эта версия даже работает!Сейчас затестил. Попытался профилировать COM-сервер - болт. Пришлось лепить костыли и делать запускаемый exe без COM-вызовов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2018, 20:04 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39593569&tid=2040296]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 471ms |

| 0 / 0 |
