Я ищу профилировщик, чтобы найти узкое место в моем коде C ++. Я хотел бы найти бесплатный, ненавязчивый и хороший инструмент для профилирования. Я разработчик игр, и я использую PIX для Xbox 360 и нашел это очень хорошим, но это не бесплатно. Я знаю Intel VTune , но она тоже не бесплатна.
224
Ответы:
CodeXL теперь заменил AMD Code Analyst в конце строки, и оба они бесплатны, но не так продвинуты, как VTune. Есть также Sleepy , который очень прост, но делает работу во многих случаях.
источник
Very Sleepy - профилировщик ЦП C / C ++ для систем Windows (бесплатно).
CppCheck - это статический профилировщик ЦП C / C ++ для систем Windows (бесплатно).
источник
Proffy довольно крутой: http://pauldoo.com/proffy/
Отказ от ответственности: я написал это.
источник
Для MS VC 7.1 и выше имеется инструментальный (точный по функциям) профилировщик, который называется MicroProfiler. Вы можете получить его здесь (x64) или здесь (x86) . Он не требует каких-либо изменений или дополнений в вашем коде и способен отображать статистику функций с вызывающими и вызываемыми пользователями в режиме реального времени без необходимости закрывать приложение / останавливать процесс профилирования.
Он интегрируется с VisualStudio, поэтому вы можете легко включить / отключить профилирование для проекта. Также возможно установить его на чистую машину, для этого нужно только, чтобы информация о символах находилась вместе с профилируемым исполняемым файлом.
Этот инструмент полезен, когда статистическая аппроксимация из профилировщиков выборки, таких как Very Sleepy, недостаточна.
Грубое сравнение показывает, что он превосходит AQTime (когда он вызывается в инструментах, запуск на уровне функций). Следующая программа (полная оптимизация, отключение встраивания) работает в три раза быстрее, когда микропрофилировщик отображает результаты в режиме реального времени, чем при простом сборе статистики AQTime:
источник
У Microsoft есть Windows Performance Toolkit .
Требуется Windows Vista, Windows Server 2008 или Windows 7.
источник
Новое дополнение - Shiny .
источник
Я настоятельно рекомендую Windows Performance Toolkit (WPT) или XPERF
Средство командной строки xperf командной строки записывает журналы трассировки событий для Windows (ETW), которые можно анализировать с помощью инструмента xperfview с графическим интерфейсом.
Использование аргумента командной строки stacktrace доказало, что является бесценным инструментом для моей компании, так как оно определяет и устраняет узкие места. Одна из самых неотразимых вещей заключается в том, что WPT можно установить в любой среде, даже на почтенной Windows XP .
В Windows 8 анализатор производительности Windows выводит xperf на еще более высокий уровень.
Твердые цифры и статистика, представленные в журналах ETW, не имеют аналогов в деталях, за исключением визуального студийного профилировщика (2010/2012), который также хорош, но не бесплатный AFAIK.
Если вы никогда не использовали xperf ... вы не знаете, что вам не хватает
источник
Я использую AQTime, это один из лучших инструментов профилирования, которые я когда-либо использовал. Это не бесплатно, но вы можете получить 30-дневную пробную версию, поэтому, если вы планируете оптимизировать и профилировать только один проект, и вам достаточно 30 дней, я бы порекомендовал использовать это приложение. ( http://www.automatedqa.com/downloads/aqtime/index.asp )
источник
Пожалуйста, попробуйте мой профилировщик, называется cRunWatch. Это всего лишь два файла, поэтому его легко интегрировать с вашими проектами, и для этого нужно добавить ровно одну строку для инструмента.
http://ravenspoint.wordpress.com/2010/06/16/timing/
Требуется библиотека Boost.
источник
Я использовал Люка Stackwalker, и он сделал работу для моего проекта Visual Studio.
Другие интересные проекты:
источник
Я использовал TrueTime - часть набора Compuware DevPartner в течение многих лет. Доступна [бесплатная версия] (вы можете попробовать Compuware DevPartner Performance Analysis Community Edition.).
источник
Я использую VSPerfMon, который является StandAlone Visual Studio Profiler. Я написал инструмент с графическим интерфейсом, чтобы помочь мне запустить его и посмотреть на результаты.
http://code.google.com/p/vsptree/
источник
Вы можете использовать EmbeddedProfiler, он бесплатный как для Linux, так и для Windwos.
Профилировщик навязчив (по функциональности), но не требует никаких изменений кода. Просто добавьте специальный флаг компилятора (-finstrument-functios для gcc / MinGW или / GH для MSVC) и свяжите библиотеку профилировщика. Он может предоставить вам полное дерево вызовов или просто список функций. Имеет собственный анализатор GUI.
источник