Есть ли приличные профилировщики C#? [закрытый]


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

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

какие рекомендации?

20 78

20 ответов:

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

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

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

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

он вычисляет стоимость с почти линейным разрешением.

The EQATEC Profiler и очень хорошо и совершенно бесплатно. Он прост в настройке и использовании и, похоже, не добавляет слишком много накладных расходов в приложение. Я только начал использовать его сегодня и уже нашел пару узких мест, которые я бы не заметил иначе.

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

Патрик smacchia-х вопросом, что происходит отлично подходит для обеспечения статического анализа.

Я поддерживаю всеобъемлющий список профилировщиков для .NET on SharpToolbox.com.

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

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

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

мы используем: Ants profiler где я работаю. Это дает очень подробную информацию в простой форме.

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

Я изначально пробовал профилировщик муравьев Красных Ворот что очень сексуально, но с точки зрения утечки памяти это отстой по следующим причинам:

1) его невероятно медленно. Он взял полчаса, чтобы получить приложение в состояние, чтобы начать запись (занимает 20 секунд, без Красных ворот).

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

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

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

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

Патрик smacchia является отлично подходит для обеспечения статического анализ.

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

профилировщик EQATEC сделал свою работу здесь.

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

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

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

AQTime (обе производительности и памяти) или муравьев (профайлер производительности V4 или V5 бета памяти профилировщик) здесь.

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

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

какова ваша цель?

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

за это я клянусь этим методом.

SlimTune выглядит очень многообещающим. http://code.google.com/p/slimtune/