Какие есть хорошие профилировщики .NET?

Другие охватывали профилирование .cs-file производительности, но что касается профилирования памяти В c#.net настоящее время я оцениваю profiling-tools как Scitech .NET Memory Profiler c# 3.1, так и ANTS Memory Profiler .net-framework 5.1 (текущие версии по состоянию dotnet на сентябрь 2009 г.). Я пробовал visual-c# JetBrains один год или два profiling-tools назад, и он был не так хорош, как dotnet ANTS (для профилирования c#-language памяти), поэтому на этот profiler раз я не стал беспокоиться. Читая dotnet веб-сайты, похоже, что у .net него нет тех же функций профилирования памяти, как profilers у двух других.

Как ANTS, так dotnet и профилировщик памяти Scitech profilers имеют функции, которых нет .cs-file у другого, поэтому какой .net вариант лучше всего будет dot-net зависеть от ваших предпочтений. Вообще dot-net говоря, Scitech предоставляет c# более подробную информацию, в profiling-tools то время как ANTS действительно profiler невероятно идентифицирует .cs-file протекающий объект. В целом, я dotnet предпочитаю ANTS, потому .net что он очень быстро обнаруживает .net возможные утечки.

Вот основные visual-c# плюсы и минусы каждого из c#.net моих опытов:

Общие функции ANTS и Scitech .NET Memory Profiler

  • Функция анализа в реальном времени.
  • Отличные обучающие видео на их веб-сайтах.
  • Простота использования
  • Достаточно производительный (очевидно, медленнее, чем без профилировщика, но не настолько, чтобы вы разочаровались)
  • Показать экземпляры протекающих объектов.
  • В основном они оба неплохо справляются со своей задачей.

МУРАВЬИ

  • Фильтры одним щелчком для поиска распространенных утечек, в том числе: объекты, которые остаются активными только обработчиками событий, объекты, которые удаляются, но все еще остаются активными, и объекты, которые остаются активными только по ссылке из удаленного объекта . Вероятно, это убийственная особенность ANTS - из-за этого поиск утечек происходит невероятно быстро. По моему опыту, большинство утечек вызвано тем, что обработчики событий не отключаются, и ANTS просто направляет вас прямо к этим объектам. Замечательно.
  • График удержания объекта. Хотя та же информация доступна в Scitech, ее гораздо проще интерпретировать в ANTS.
  • Показывает размер вместе с дочерними элементами в дополнение к размеру самого объекта (но только когда экземпляр выбран, к сожалению, не в общем списке классов).
  • Лучшая интеграция с Visual Studio (щелкните правой кнопкой мыши график, чтобы перейти к файлу).

Scitech .NET Memory Profiler

  • Показывает трассировку стека, когда объект был выделен. Это действительно полезно для объектов, которые размещены во множестве разных мест. С помощью ANTS трудно точно определить, где был создан просочившийся объект.
  • Показывает количество одноразовых предметов, которые не были утилизированы. Хотя это и не свидетельствует об утечке, он определяет возможности решения этой проблемы и повышения производительности вашего приложения за счет более быстрой сборки мусора.
  • Более подробные параметры фильтрации (несколько столбцов можно фильтровать независимо).
  • Представляет информацию об общем количестве созданных объектов (включая собранный мусор). ANTS показывает только статистику «живых» объектов. Это упрощает анализ и настройку общей производительности приложения (например, определение того, где создается множество объектов без необходимости, которые не обязательно протекают).

Подводя итог, я c-sharp считаю, что ANTS помогает .net-framework быстрее находить утечки, в profiling-tools то время как Scitech предоставляет c#.net более подробную информацию .net об общей производительности profiling памяти вашего приложения .net-framework и отдельных объектах, если c#-language вы знаете, на что обращать dotnet внимание (например, трассировку dotnet стека при создании). Если profiling-tools бы трассировка стека и отслеживание c-sharp неудаленных одноразовых объектов c-sharp были добавлены в ANTS, я csharp бы не видел необходимости profiler использовать что-либо еще.

c#

.net

profiling

profiler

2022-03-20T16:52:44+00:00