Какой бесплатный профилировщик C++ для Windows лучше всего?[закрыто]

StackOverflow https://stackoverflow.com/questions/67554

  •  09-06-2019
  •  | 
  •  

Вопрос

Я ищу профилировщик, чтобы найти узкое место в моем коде на C++.Я хотел бы найти бесплатный, ненавязчивый и хороший инструмент для профилирования.Я разработчик игр, использую PIX для Xbox 360 и считаю его очень хорошим, но не бесплатным.Я знаю Интел ВТюн, но это тоже не бесплатно.

Это было полезно?

Решение

КодXL теперь заменил End Of Line'd Аналитик кода AMD и оба бесплатны, но не так продвинуты, как VTune.Есть также Сонный, что очень просто, но во многих случаях помогает.

Другие советы

Очень сонный — это профилировщик ЦП C/C++ для систем Windows (бесплатно).
CppCheck — статический профилировщик ЦП C/C++ для систем Windows (бесплатно).

Проффи очень крутой: http://pauldoo.com/proffy/

Отказ от ответственности:Я написал это.

Существует инструментальный (точный по функциям) профилировщик для MS VC 7.1 и выше, который называется MicroProfiler. Вы можете получить его здесь (x64) или здесь (x86).Это не требует никаких изменений и дополнений в ваш код и может отображать статистику функций с вызывающими и вызываемыми объектами в в реальном времени без необходимости закрытия приложения/остановки процесса профилирования.

Он интегрируется с VisualStudio, поэтому вы можете легко включить/отключить профилирование для проекта.Его также можно установить на чистую машину, для этого необходимо только найти информацию о символах вместе с профилируемым исполняемым файлом.

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

Грубое сравнение показывает, что он превосходит AQTime (когда он вызывается при инструментировании и запуске на уровне функции).Следующая программа (полная оптимизация, встраивание отключено) работает в три раза быстрее с микропрофилером, отображающим результаты в режиме реального времени, чем с AQTime, просто собирающим статистику:

void f()
{
    srand(time(0));

    vector<double> v(300000);

    generate_n(v.begin(), v.size(), &random);
    sort(v.begin(), v.end());
    sort(v.rbegin(), v.rend());
    sort(v.begin(), v.end());
    sort(v.rbegin(), v.rend());
}

Новое дополнение блестящий.

​​​​​

я очень рекомендую Набор инструментов для повышения производительности Windows (WPT) или XPERF

Инструмент командной строки xperf записывает журналы трассировки событий для Windows (ETW), которые можно проанализировать с помощью инструмента xperfview с графическим интерфейсом.

С использованием аргумент командной строки stacktrace оказался бесценным инструментом для моей компании, поскольку он выявляет и устраняет узкие места.Одним из наиболее привлекательных моментов является то, что WPT можно установить в любой среде, даже на почтенных Windows XP.

На Windows 8 — анализатор производительности Windows выводит xperf на еще более высокий уровень.

Точные цифры и статистика, представленные в журналах ETW, не имеют аналогов в деталях, за исключением профилировщика Visual Studio (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.

я использовал Люк Стэкуокер и это помогло моему проекту Visual Studio.

Другие интересные проекты:

Я уже много лет использую TrueTime — часть пакета DevPartner от Compuware.Доступна [бесплатная версия] (вы можете попробовать Compuware DevPartner Performance Analysis Community Edition).

Я использую VSPerfMon, который является автономным профилировщиком Visual Studio.Я написал инструмент с графическим интерфейсом, который поможет мне запустить его и посмотреть на результаты.

http://code.google.com/p/vsptree/

Вы можете использовать EmbeddedProfiler, он бесплатен как для Linux, так и для Windwos.

Профилировщик навязчив (по функционалу), но не требует каких-либо модификаций кода.Просто добавьте определенный флаг компилятора (-finstrument-functios для gcc/MinGW или /GH для MSVC) и свяжите библиотеку профилировщика.Он может предоставить вам полное дерево вызовов или просто список функций.Имеет собственный графический интерфейс анализатора.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top