Как профилировать программу на платформе Linux без перестройки? - PullRequest
8 голосов
/ 05 марта 2010

Я использовал два инструмента профилирования (VTune для windows и dbx (в пределах sunstudio) в Solaris), которые могут профилировать программу без их перестройки, а во время профилирования программа просто работает с той же скоростью, что и обычная. Обе эти 2 функции сэкономили мне много времени.

Теперь я хочу знать, есть ли на платформе Linux доступные бесплатные инструменты, способные сделать то же самое. Я думаю, что мне нужны инструменты профилирования на основе выборки. VTune хорош, но дорогой ... Я слышал о gprof и valgrind. Но, похоже, gprof нужен инструмент для программы (поэтому нам нужно пересобрать программу), и valgrind значительно замедлит выполнение программы. (из введения Вальгринда Cachegrind запускает программы примерно в 20-100 раз медленнее, чем обычно, а Callgrind, который мне нужен для профилирования, основан на Cachegrind)

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

Ответы [ 4 ]

5 голосов
/ 05 марта 2010

oprofile довольно хорош, но его может быть сложно настроить. Также не требуется перестраивать вашу программу.

1 голос
/ 05 марта 2010

Счетчики производительности для Linux - это новый инструмент, используемый в ядрах 2.6.31 и новее; он менее навязчив (как для программы, так и для системы в целом), чем valgrind или OProfile.

1 голос
/ 05 марта 2010

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

Однако для реальных результатов я полагаюсь на этот простой метод , который я использовал с тех пор, как были изобретены профилировщики.

0 голосов
/ 05 марта 2010

Более хороший вариант, чем oprofile: Zoom . Это похоже на Shark в Mac OS X, если вы когда-либо использовали это. Он коммерческий (199 долларов США), но вы можете получить бесплатную пробную версию с www.rotateright.com .

...