Другие рассматривали профилирование производительности, но в отношении профилирования памяти В настоящее время я оцениваю Scitech .NET Memory Profiler 3.1 и ANTS Memory Profiler 5.1 (текущие версии по состоянию на сентябрь 2009 г.). Я пробовал JetBrains один год или два назад, и он был не так хорош, как ANTS (для профилирования памяти), поэтому я не потрудился на этот раз. Из чтения веб-сайтов кажется, что он не обладает теми же функциями профилирования памяти , что и два других.
Как ANTS, так и профилировщик памяти Scitech имеют функции, которых нет у другого, поэтому наилучшее будет зависеть от ваших предпочтений. Вообще говоря, Scitech предоставляет более подробную информацию, в то время как ANTS действительно невероятно распознает протекающий объект. В целом, я предпочитаю ANTS, потому что он очень быстро выявляет возможные утечки.
Вот основные плюсы и минусы каждого из моего опыта:
Общие черты ANTS и Scitech .NET Memory Profiler
- Real- функция анализа времени
- Превосходные практические видеоролики на своих веб-сайтах
- Простота в использовании
- Разумная производительность (очевидно, медленнее, чем при подключенном профилировщике, но не так много, как вы становитесь разочарованы)
- Показать случаи протекания объектов
- В основном они оба выполняют свою работу довольно хорошо
ANTS
- Фильтры в один клик для поиска общих утечек , в том числе: объекты, поддерживаемые только обработчиками событий, объекты, которые удаляются, но все еще живут, и объекты, которые поддерживаются только ссылкой из удаленного объекта. Вероятно, это убийственная особенность ANTS - из-за этого обнаружение утечек происходит невероятно быстро. По моему опыту, большинство утечек вызвано тем, что обработчики событий не отцепляются, и ANTS просто ведет вас прямо к этим объектам. Высокий.
- График удержания объекта. Хотя та же информация доступна в Scitech, в ANTS ее гораздо легче интерпретировать.
- Показывает размер с дочерними элементами в дополнение к размеру самого объекта (но только когда, к сожалению, выбран экземпляр, а не в общем списке классов).
- Лучшая интеграция с Visual Studio (щелкните правой кнопкой мыши на графике, чтобы перейти к файлу)
Scitech .NET Memory Profiler
- Показывает стек отслеживать, когда объект был выделен. Это действительно полезно для объектов, которые размещены в разных местах. С помощью ANTS трудно точно определить, где был создан протекший объект.
- Показывает количество одноразовых предметов, которые не были утилизированы. Хотя это и не указывает на утечку, оно идентифицирует возможности для исправления этой проблемы и повышения производительности вашего приложения в результате более быстрого сбора мусора.
- Более подробные параметры фильтрации (несколько столбцов могут быть отфильтрованы независимо).
- Представляет информацию о всех созданных объектах (включая мусор). ANTS показывает только «живую» объектную статистику. Это облегчает анализ и настройку общей производительности приложения (например, определяет, где много ненужных объектов, которые не обязательно протекают).
Вкратце, я думаю, что ANTS помогает вам быстрее находить утечки, в то время как Scitech предоставляет немного больше информации об общей производительности памяти вашего приложения и отдельных объектах, когда вы знаете, на что смотреть (например, трассировка стека при создании). ). Если бы в ANTS была добавлена трассировка стека и отслеживание неразмещенных одноразовых объектов, я бы не увидел необходимости использовать что-либо еще.
задан Timofey Gorshkov 27 October 2010 в 11:05
поделиться