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

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

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

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

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

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

https://github.com/andremussche/asmprofiler

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

Несколько извращенский способ инициализации его, но в целом ничего сложного.
...
Рейтинг: 0 / 0
30.01.2018, 21:22
    #39593604
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профилировщик
..
...
Рейтинг: 0 / 0
30.01.2018, 21:32
    #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
31.01.2018, 11:11
    #39593779
Damir_85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профилировщик
я еще вот натолкнулся на Sampling Profiler ( https://www.delphitools.info/samplingprofiler)
вроде тоже с каким-то интерфейсом. Что нибудь можете сказать?
Потом мне на первое время в основном будет интересно по времени сравнивать, поэтому пока хотелось бы что-нибудь бесплатное)
...
Рейтинг: 0 / 0
31.01.2018, 11:25
    #39593791
Василий №2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профилировщик
Damir_85я еще вот натолкнулся на Sampling Profiler ( https://www.delphitools.info/samplingprofiler)
вроде тоже с каким-то интерфейсом. Что нибудь можете сказать?
Потом мне на первое время в основном будет интересно по времени сравнивать, поэтому пока хотелось бы что-нибудь бесплатное)
Юзаю его, неплохой. Пригождается для оценки быстродействия/тормозов рабочего цикла в целом. Для сравнения производительности отдельных функций неохота было осваивать сторонний инструмент, так что сделал свой бенчмаркер на примитивном gettickcount, погрешности сглаживаю большим количеством итераций.
...
Рейтинг: 0 / 0
01.02.2018, 10:10
    #39594660
Василий №2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профилировщик
Василий №2Damir_85я еще вот натолкнулся на Sampling Profiler ( https://www.delphitools.info/samplingprofiler)
вроде тоже с каким-то интерфейсом. Что нибудь можете сказать?
Потом мне на первое время в основном будет интересно по времени сравнивать, поэтому пока хотелось бы что-нибудь бесплатное)
Юзаю его, неплохой. Пригождается для оценки быстродействия/тормозов рабочего цикла в целом. Для сравнения производительности отдельных функций неохота было осваивать сторонний инструмент, так что сделал свой бенчмаркер на примитивном gettickcount, погрешности сглаживаю большим количеством итераций.
Добавлю. Работает только до XE2, но на D7 выдает какие-то совсем неадекватные результаты.
...
Рейтинг: 0 / 0
01.02.2018, 11:33
    #39594781
rdtsc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профилировщик
Damir_85интересно по времени сравнивать, поэтому пока хотелось бы что-нибудь бесплатное)для сравнения по времени исполнения всего алгоритма вполне достаточно QueryPerformanceFrequency/QueryPerformanceCounter
совершенно бесплатен )) и гораздо точнее gettickcount
...
Рейтинг: 0 / 0
01.02.2018, 11:57
    #39594797
AWSVladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профилировщик
rdtscQueryPerformanceFrequency/QueryPerformanceCounter
Не знаю, я отказался, так как сами вызовы намного прожоливей GetTicCount.
GetTicCount - вообще самая менее ресурсоемкая ф-я.
...
Рейтинг: 0 / 0
01.02.2018, 12:18
    #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
01.02.2018, 12:28
    #39594826
Damir_85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профилировщик
а кстати приложение консольное сделал, без всяких форм
...
Рейтинг: 0 / 0
01.02.2018, 13:20
    #39594867
Василий №2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профилировщик
Да, попутал, до XE4.
Ему для работы нужен map файл либо полная отладочная инфа в экзешнике
...
Рейтинг: 0 / 0
01.02.2018, 13:26
    #39594871
Damir_85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профилировщик
Василий №2Да, попутал, до XE4.
Ему для работы нужен map файл либо полная отладочная инфа в экзешнике
а как отладочную информацию в экзешник записать ? и что за map-файл?
Не могли бы пример привести как это сделать?
...
Рейтинг: 0 / 0
01.02.2018, 13:27
    #39594872
Damir_85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профилировщик
вернее, не в экзешник, а как я понял в код что то нужно дописать или директивы какие то выставить
...
Рейтинг: 0 / 0
01.02.2018, 13:33
    #39594877
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профилировщик
Damir_85Василий №2Да, попутал, до XE4.
Ему для работы нужен map файл либо полная отладочная инфа в экзешнике
а как отладочную информацию в экзешник записать ? и что за map-файл?
Не могли бы пример привести как это сделать?

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

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


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