Подтвердить что ты не робот

Профилировщик кода на С++

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

Я наткнулся на Блестящий - какой-нибудь хороший? http://sourceforge.net/projects/shinyprofiler/

4b9b3361

Ответ 3

Gprof, если вы используете gcc. Возможно, он не дружелюбен, но по-прежнему полезен.

Ответ 4

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

Ответ 5

Если вы используете премиум-версию VS 2010, вы получаете профайлер с ней.

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

Ответ 6

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

Ответ 7

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

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

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

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

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

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

Ответ 8

AQtime (для Windows)

Ответ 9

Если у вас есть доступ к Mac, я рекомендую использовать Shark из инструментов CHUD.

Ответ 10

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

Ответ 11

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