Как представить программу на платформе Linux без восстановления?

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

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

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

8
задан Andy Lester 5 March 2010 в 02:34
поделиться

4 ответа

Профиль неплохой, но его сложно настроить. Это также не требует, чтобы вы перестраивали вашу программу.

5
ответ дан 5 December 2019 в 21:18
поделиться

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

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

1
ответ дан 5 December 2019 в 21:18
поделиться

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

0
ответ дан 5 December 2019 в 21:18
поделиться

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

1
ответ дан 5 December 2019 в 21:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: