LINUX.ORG.RU

Ищу C профайлер с хорошей детализацией.

 , ,


2

4

Сабж. Я попробовал gperftools, но выхлоп меня несколько смущает: я получаю смесь информации о самопальных и библиотечных функциях. В целом это лучше, чем ничего, но не помогает выяснить, откуда хвосты растут.

Пример: gsl_histogram_pdf_free по статистике жрёт 10% ресурсов. Проблема в том, что я вообще не использую эту функцию, никак, она даже подключаться не должна. Я нашёл тот участок кода, который так себя странно ведёт, но больше информации выжать не удалось.

★★★★★
Ответ на: комментарий от Dudraug

Ты неправ. https://software.intel.com/en-us/system-studio/choose-download

Бесплатная возобновляемая каждые 90 дней лицензия на продукт. Можешь абсолютно бесплатно юзать и для коммерческой разработки. Отличается от платной только отсутствием саппорта со стороны Intel (то есть community support)

zamazan4ik ★★
()
Ответ на: комментарий от harvos

вроде звучит как бага в коде, а не как проблемы с профайлером, нет?

Ну я никогда баги не исключаю, но её там физически быть не должно. Но проблем с самим профайлером у меня нет, просто хотелось бы более детальную картину видеть.

А если самому руками побектрейсить через gdb -x --batch, та же картина?

Можно попробовать, но мне сейчас не до ручной отладки, если быть честным. У меня статья висит, которую нужно отправить в журнал, а я вместо этого дыры в коде затыкаю.

Гугловому профайлеру можно указать явно, какие куски профилировать

Вот про это я не знал, где посмотреть?

ZERG ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Надо будет посмотреть, я что-то не сообразил, что у меня лицензия от intel есть, можно vtune использовать.

ZERG ★★★★★
() автор топика
Ответ на: комментарий от dave

У меня числодробилка на одном ядре, там точно никаких пустых областей не должно быть

ZERG ★★★★★
() автор топика
Ответ на: комментарий от ZERG

С числодробилкой должны быть свои особенности, но я особо не профилировал численный код. Просто помни, что профилирование искажает реальные проблемы, помимо того, что профилирование показывает обычно симптомы, а не причину. Однако, профилирование часто подсказывает правильный путь.

dave ★★★★★
()
Ответ на: комментарий от dave

Я понимаю, но тут хотя бы выяснить, в какую сторону смотреть. Я и так улучшил код почти до предела своих возможностей. Дальше только профайлинг и оптимизация под конкретные системы.

ZERG ★★★★★
() автор топика
Ответ на: комментарий от Iron_Bug

для быстрых приложений он не канает. также не канает он для телекома.

Для «быстрых» приложений надо делать отдельный «медленный режим» и тестовое окружение под него (желательно приближенное к e2e), чтобы промежуточные издержки профилирования/логирования не мешали и ни на что не влияли.

Dudraug ★★★★★
()
Ответ на: комментарий от Dudraug

увы, это не всегда возможно. моя работа чаще всего была связана с железом и там это нереализумо.

Iron_Bug ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.