Каковы некоторые хорошие профилировщики для родного С++ в Windows?

Я ищу профилировщик для использования с родным С++. Это, безусловно, не обязательно должно быть бесплатным, однако стоимость решения зависит от решения о покупке. Это для коммерческой работы, поэтому я не могу использовать личные или академические лицензированные копии.

Ключевыми функциями, которые я ищу, являются:

  • Показатели уровня процесса
  • Показатели уровня компонентов
  • Показатели уровня линии
  • Поддержка многопоточного кода
  • Юзабилити
  • Стоимость
  • Требуется поддержка Visual Studio 2005 Professional (поддержка VS 2008 Professional желательно)

Я использовал Intel VTune и Compuware Devpartner Performance Analysis Community Edition.

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

DevPartner PACE была довольно проста в использовании и предоставляет все ключевые функции, но это всего лишь 45-дневная пробная версия. Лицензионная версия (DevPartner для Visual С++ BoundsChecker Suite) составляет около 1400 долларов за место, что является выполнимым, но немного высоким. [/P >

Каковы некоторые хорошие профилировщики для С++ и ПОЧЕМУ?


См. также:

Какой ваш любимый инструмент профилирования для С++

Ответ 1

В Windows GlowCode является доступным, довольно простым в использовании и предлагает бесплатную пробную версию, чтобы вы могли видеть, работает ли она на вас.

Ответ 2

Многие люди не знают, но MSFT делает большой прогресс, предлагая лучшие инструменты для повышения производительности в руках разработчиков бесплатно:-). Они подвергают всех нас внутренности трассировки Windows: ETW.

perftools

Это часть нового окна SDK для сервера 2008 и Vista. Просто впечатляет и должна загружаться, если ваша оценка эффективности и профилирования в Windows - это ваша цель (независимо от языка).

Проверьте документацию, прежде чем вы решите ее загрузить:

msdn doc

Ответ 3

Попробуйте Intel Parallel Studio. В настоящее время он находится в бета-версии, но имя Intel все говорит.

http://www.intel.com/go/parallel

Ответ 4

Только что нашел Luke StackWalker на SourceForge (http://lukestackwalker.sourceforge.net/). К сожалению, у него нет "фокуса на поддереве", но он по-прежнему удобен в использовании, использует сервер символов (я предлагаю вам установить его немедленно, если у вас его еще нет), предлагает графическую визуализацию,...

Нижняя сторона - это то, что она не показывает накопленные времена (выборки) дочерних функций.

Другой альтернативой является "Very Sleepy" (http://www.codersnotes.com/sleepy). Он может отображать накопленные времена для детей, но, к сожалению, он не использует сервер символов.

Ответ 5

CodeXL также может стоить взглянуть на него, он может работать как в Linux, так и в Windows, хотя он в основном предназначен для отладки и профилирования OpenGL/OpenCL. В разделе профилирования есть полезная опция выбора времени для процессоров в разделе профилирования. Он также бесплатный и работает до тех пор, пока доступны файлы pdb (ну и на окнах, я не знаю, как это работает в Linux) (даже для релизов с pdb).

Ответ 6

Определенно Visual Team Team System. Безусловно.

Ответ 7

Я написал легкий профайлер win32/64 с открытым исходным кодом, поддерживающий профилирование процессора и памяти, это похоже на профилировщик VS, но с уникальной особенностью, такой как диаграмма пламени CPU и данные памяти. он здесь: dprofiler

Ответ 8

Я только что закончил первую полезную версию CxxProf, портативную ручную библиотеку профилирования для С++.

Он отвечает вашим требованиям:

  • Профили многопоточных приложений
  • Поддержка профилирования нескольких процессов в одной и той же сети находится на пути
  • Он написан с наилучшей практичностью и удобством интеграции.
  • Это бесплатно, как в пиве, и бесплатно, как в речи
  • Он будет работать с VS05,08,10,12 и 13. Также как с g++ в Linux. Он в настоящее время протестирован с VS 2013 Express.

Подробнее см. вики проекта.

Отказ от ответственности: Im главный разработчик CxxProf