C ++ Code Profiler - PullRequest
       52

C ++ Code Profiler

17 голосов
/ 27 октября 2008

Кто-нибудь может порекомендовать хороший профилировщик кода для C ++?

Я столкнулся с Shiny - хорошо? http://sourceforge.net/projects/shinyprofiler/

Ответы [ 11 ]

9 голосов
/ 27 октября 2008

Callgrind для Unix / Linux

DevPartner для Windows

7 голосов
/ 27 октября 2008

Gprof , если вы используете gcc. Возможно, это не удобно для пользователя, но все же полезно.

7 голосов
/ 27 октября 2008

Не специфично для C ++, но программное обеспечение AMD CodeAnalyst является бесплатным и полнофункциональным.

http://developer.amd.com/cpu/codeanalyst/codeanalystwindows/Pages/default.aspx

6 голосов
/ 27 октября 2008

Возможно вас заинтересует Intel VTune . Полезно и позволяет собирать низкоуровневые события, такие как пропуски кэша, что очень помогает при настройке

2 голосов
/ 01 июня 2009

AQtime (для Windows)

2 голосов
/ 09 марта 2009

Зависит от того, что вам нужно сделать:

  1. Измерьте, чтобы вы могли проводить регрессионное тестирование, чтобы увидеть, произошли ли изменения в производительности.
  2. Найдите причины неоптимальной производительности и оптимизируйте их.

Это не одно и то же.

Для 1 используйте один из рекомендованных профилировщиков.

Для 2 профайлер, который я предпочитаю, - тот, который у вас уже есть:
http://www.wikihow.com/Optimize-Your-Program%27s-Performance
Чтобы увидеть, как это происходит, проверьте это.

Для C ++, как для C # и любого языка, который поощряет уровни абстракции, эти уровни могут быть или не быть хорошими с точки зрения разработки программного обеспечения, но они могут снизить производительность. Каждый вызов метода является обходом при выполнении вашей программы, и стиль побуждает вас вкладывать эти вещи, иногда без необходимости. Кроме того, стиль не рекомендует вам знать или заботиться о том, что происходит внутри них. Вы можете обнаружить, что они создают и удаляют объекты снизу со скоростью и уровнем общности, намного превышающими то, что действительно требуется вашему приложению.

2 голосов
/ 27 октября 2008

Quantify (часть пакета IBM / Rational PurifyPlus) - очень хороший профилировщик, но не совсем дешевый. Он также доступен на нескольких платформах - я использовал его на Solaris, Windows и Linux.

2 голосов
/ 27 октября 2008

Если вы используете Premium версию VS 2010, вы получите профилировщик с ней.

Я также использовал несколько других бесплатных, но они не сравнимы с кораблями MS. Полезно как второе мнение, хотя.

0 голосов
/ 28 января 2011

Если вы не можете найти DevPartner, это потому, что мы перешли под новое владение. Проверьте нас на сайте Micro Focus: http://www.microfocus.com/products/micro-focus-developer/devpartner/index.aspx. Бесстыдный штекер: я работаю в команде DevPartner. Наши долгожданные 64-разрядные версии профилировщиков BoundsChecker и C ++ /. NET будут выпущены 4 февраля 2011 г. Мы изменили нашу модель ценообразования, чтобы вы могли выбрать либо весь комплект, либо только профилировщик производительности, если это то, что вам нужно. Пожалуйста, ознакомьтесь с новой версией DPS 10.5, когда она выйдет в эфир!

0 голосов
/ 28 октября 2008

Вы можете использовать анализатор, который есть в Sun Studio 12 на Linux или Solaris. Это бесплатно. http://developers.sun.com/sunstudio/index.jsp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...