Новичок: анализ производительности через командную строку - PullRequest
3 голосов
/ 17 июня 2011

Я ищу инструмент для анализа производительности со следующими свойствами:

  1. Бесплатно.
  2. Работает в Windows.
  3. Не требует использования графического интерфейса (т.е. может быть запущен из командной строки или с использованием некоторой библиотеки на любом языке программирования).
  4. Работает на архитектуре с архитектурой x86 (предпочтительно Intel).
  5. Может измерять время работы моей C ++, скомпилированной mingw программы, за исключением времени, потраченного на некоторые определенные функции, которые я указываю (и все вызовы, исходящие от них).
  6. Может измерять объем памяти, используемой моей программой, за исключением памяти, выделенной этими функциями, указанными в (5), и всех вызовов, исходящих от них.

Инструмент со свойствами (1) - (5) (без 6) все еще может быть очень ценным для меня.

Моя цель состоит в том, чтобы иметь возможность сравнивать время выполнения и использование памяти различными программами согласованным образом (то есть основное требование заключается в том, что синхронизация одной и той же программы дважды выдаст примерно одинаковые результаты).

Ответы [ 2 ]

3 голосов
/ 17 июня 2011

Mingw уже должен иметь инструмент gprof . Чтобы использовать его, вам просто нужно скомпилировать с правильным набором флагов. Я думаю, что это было -g -pg.

1 голос
/ 17 июня 2011

Для анализа кучи (бесплатно) вы можете использовать umdh.exe , который является дампером полной кучи, вы также можете сравнивать последовательные снимки памяти для проверки на утечку с течением времени. Однако вам придется отфильтровать вывод самостоятельно, чтобы удалить функции, которые не были интересны.

Я знаю, что это не совсем то, что вы просили в (6), но это может быть полезно. Я думаю, что фильтрация, подобная этой, не будет распространена в бесплатном ПО.

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