Есть какие-нибудь достойные профилировщики C #?

Мне нужен профилировщик C #.

Хотя я не прочь заплатить за него, что-то бесплатное или, по крайней мере, с пробной версией было бы идеальным, поскольку для создания заказа на покупку требуется время.

Какие-нибудь рекомендации?


person Gareth Simpson    schedule 14.08.2008    source источник
comment
возможный дубликат Какие хорошие профилировщики .NET?   -  person BlueRaja - Danny Pflughoeft    schedule 21.06.2011
comment
Это много говорит о SO, что причина для цензуры вопроса заключается в том, что он может вызвать дебаты.   -  person Glenn Maynard    schedule 10.05.2014


Ответы (19)


Вы можете попробовать следующее:

  • nprof (бесплатно, но немного устарело)
  • ProfileSharp (с открытым исходным кодом)
  • .Net Memory Profiler (действительно хорош для утечек памяти, есть пробная версия)

Изменить: Nprof был заменен на SlimTune и работает с приложениями .Net 4.0.

person jfs    schedule 14.08.2008
comment
Я поигрался с ProfileSharp. Это совершенно ужасно. - person Matthew Ruston; 19.12.2008
comment
nprof - это только я думаю .Net 1.1. Если вы можете скомпилировать в .Net 1.1, тогда может быть полезно профилировать его, а затем перекомпилировать в .Net 2 для выпуска. Однако это невозможно, если вы начнете использовать функции .Net2, такие как универсальные типы и типы, допускающие значение NULL. - person redcalx; 23.07.2009
comment
Согласитесь с Мэтью, ProfileSharp ужасен, не мог заставить его профилировать даже самый простой exe из командной строки. Не трать время зря - person Michael Dausmann; 26.08.2009
comment
Похоже, что в последнее время разработка nprof активизировалась. - person Brian Ortiz; 16.10.2009
comment
Я использовал .Net Memory Profiler, чтобы найти утечку памяти; это очень хорошо. Это моя печать одобрения! - person Cylon Cat; 07.12.2009
comment
Этот веб-сайт ProfileSharp кажется спамом. ??? - person Nick Heiner; 25.02.2010

Я использовал профилировщик Ants в большом проекте c #. полтора года назад. Он действительно работал очень хорошо с такой ценой и даже превосходил некоторых более дорогих конкурентов.

Он рассчитывает стоимость практически с построчным разрешением.

person AdamSane    schedule 14.08.2008
comment
Мне тоже нравятся муравьи. Это из Редгейта. - person Marcel; 15.03.2010

Профилировщик EQATEC очень хороший и совершенно бесплатный. Его легко настроить и использовать, и, похоже, он не добавляет слишком много накладных расходов приложению. Я только начал его использовать сегодня и уже нашел несколько узких мест, которые иначе не заметил бы.

person HullCitySteve    schedule 13.05.2009
comment
Не бесплатно для коммерческой лицензии (но все же дешево, 200 долларов). - person mhenry1384; 21.12.2009
comment
Да, похоже, они изменили лицензию на последнюю версию и начали взимать плату за коммерческое использование. Тем не менее, я все равно очень рекомендую это. - person HullCitySteve; 20.01.2010
comment
Обновление - похоже, они снова изменили условия лицензии, чтобы сделать его бесплатным для коммерческого использования для стандартных приложений .NET (но не для CF или Silverlight) - person HullCitySteve; 21.04.2010
comment
Условия лицензии снова изменились в версии 3.6: теперь она бесплатна для всех платформ, включая CF и Silverlight, с ограничением на количество DLL, которые могут быть инструментированы за один сеанс. - person Richard Flamsholt; 02.12.2010
comment
Согласны, пользоваться им тоже очень просто - person Anders Rune Jensen; 18.07.2011
comment
Я попробовал и Equatec, и RedGate Ants. Я не нашел что-то вроде муравьев, чтобы показать, какая строка кода используется в течение какого времени. Есть ли какие-то скрытые настройки для просмотра строк кода? - person Offler; 11.12.2012
comment
Больше не бесплатно и был куплен Telerik :( - person pingoo; 13.08.2013
comment
: '(((искал бесплатный инструмент ... - person Malavos; 09.05.2014

dotTrace от JetBrains широко используется.

Замечательный NDepend Патрика Смаккиа отлично подходит для статического анализа.

person Leon Bambrick    schedule 14.08.2008
comment
dotTrace действительно отличный профилировщик, чрезвычайно простой в использовании. - person Stefan Monov; 17.01.2010
comment
dotTrace 3.1 не работает с .NET 4. Нам нужно дождаться dotTrace 4.0. - person Bobby Cannon; 15.07.2010
comment
В качестве обновления и dotTrace 4 Performance, и dotTrace 3.5 Memory поддерживают .NET 4. - person Jura Gorohovsky; 23.05.2011

Я веду исчерпывающий список профилировщиков для .NET на SharpToolbox.com.

Там вы найдете предлагаемые здесь инструменты и многое другое, каждый с кратким описанием того, что он предлагает.

person Fabrice    schedule 27.10.2009
comment
Это кажется устаревшим (записи Redgate довольно устарели) - person Andrew Harry; 05.01.2011
comment
Гарри, спасибо, что указали на это. Информация обо всех продуктах RedGate теперь актуальна. sharptoolbox.com/authors/red-gate-software - person Fabrice; 07.01.2011

Интересно, что никто не упоминает о том, что он есть в старших версиях Visual Studio - я всегда считал, что этого достаточно для профилирования выполнения. Для профилирования памяти я использую Memory Profiler, о котором уже упоминалось, но не того, что я обычно называю «профилировщиком».

Какого рода профилирование вы пытались выполнить?

person Will Dean    schedule 14.08.2008

Мы используем профилировщик Ants там, где я работаю. Он дает очень подробную информацию в простой форме.

person mbillard    schedule 14.08.2008

Мы используем .NET Memory Profiler. Это некрасиво, но очень полезно для поиска висячих ссылок.

Первоначально я пробовал профилировщик ANTS от Red Gate, который очень привлекателен, но с точки зрения утечки памяти это отстой для следующие причины:

1) Это до смешного медленно. На приведение приложения в состояние для начала записи ушло полчаса (без красных ворот - 20 секунд).

2) Red Gate необходимо запускать собственный инструмент на собственном инструменте. К тому времени, как я сделал два снимка, он использовал 900 МБ памяти! Затем он разбился :(

Однако временная составляющая Red Gate ANTS была впечатляющей. Просто не беспокойтесь о профилировщике памяти, если только вы не имеете дело с тривиальным (небольшим) приложением.

person Craigger    schedule 30.12.2008
comment
Вы пробовали v4 обоих? Теперь все намного лучше :) - person thecoop; 07.12.2009

Я использовал AQtime, и он меня ни разу не подводил. Я уверен, что есть пробная версия.

person Mark    schedule 14.08.2008
comment
AQTime имеет огромное преимущество перед ANT в том, что он поддерживает неуправляемый код. - person Rick Minerich; 19.01.2012

Я буду вторым профилировщиком ANTS от Red Gate. Я использовал его, чтобы отследить некоторые действительно тревожные проблемы с производительностью, и он был чрезвычайно простым в использовании (низкая кривая обучения) и предоставлял хорошие, подробные данные таким образом, чтобы их было легко понять. Ценник того стоит, но не бесплатно ...

person Jason Sundram    schedule 23.10.2008

Замечательный NDepend Патрика Смаччиа отлично подходит для статического анализа.

Я бы настоятельно рекомендовал NDepend для статического анализа, но имейте в виду, что вам, вероятно, потребуется выделить день или два, чтобы на самом деле проанализировать грузовик с информацией, которую он предоставляет, а также выяснить, что на самом деле означает вся статистика с точки зрения ваш код.

person lomaxx    schedule 14.08.2008

Мне повезло с профилировщиком памяти .NET

person MedicineMan    schedule 11.05.2009

Профайлер EQATEC сделал здесь свою работу.

person Community    schedule 23.07.2009

Текущая версия SharpDevelop (3.1.1) имеет удобный интегрированный профилировщик. Это довольно быстро и очень хорошо интегрируется в среду разработки SharpDevelop и ее средство запуска NUnit. Результаты отображаются в гибком стиле «дерево / список» (используйте LINQ для создания собственного выбора). Двойной щелчок по отображаемому методу позволяет перейти непосредственно к исходному коду.

person David Schmitt    schedule 08.02.2010

В настоящее время ими не пользуюсь, мой приятель восторженно отзывается о профайлере Ants. Я знаю, что это платный продукт, не уверен, насколько он дорог. Если у вас есть штат MVP, вы можете воспользоваться этим, чтобы получить бесплатную лицензию.

person DevelopingChris    schedule 14.08.2008
comment
не могли бы вы подробнее рассказать обо всем, что касается MVP? Благодарность, - person kay.one; 16.07.2009
comment
MVP получают лицензию на продукты Redgate бесплатно, это лазейка, в которую вы попадете, если в вашей команде есть люди, которые являются MVP, и поэтому стоимость не проблема. - person DevelopingChris; 17.07.2009
comment
У вас есть ссылка, описывающая эту лазейку и способы ее использования? - person Keith Sirmons; 11.08.2009

AQTime (и перфоманс, и память) или ANTS (профилировщик производительности v4 или бета-профилировщик памяти v5) здесь.

person Miha Markic    schedule 12.05.2009

Вчера я нашел .NET Memory Profiler и должен сказать, что он меня очень впечатлил.
Я собираюсь заказать лицензию сегодня.

person Patrik Svensson    schedule 14.08.2008

Профилировщик, включенный в некоторые версии Visual Studio, не очень хорошо справляется с профилированием использования памяти, но очень хорошо справляется со скоростью выполнения профилирования.

person Meta-Knight    schedule 11.05.2009
comment
Один из способов доступа к профилировщику VS2010 - это после загрузки решения в меню «Отладка» найти «Начать анализ производительности». Подробная информация о его возможностях находится на msdn.microsoft.com/query/ - person ShawnFeatherly; 13.01.2012

Какая у тебя цель?

Ваша цель - найти определенные операторы и получить приблизительное представление о том, какой вклад они вносят в общее время выполнения, чтобы вы могли найти способы делать их по-другому?

Для этого я клянусь этим методом.

person Mike Dunlavey    schedule 06.06.2009