2008-08-14 7 views
78

Мне нужен профилировщик C#.Любые приличные профилировщики C# там?

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

Любые рекомендации?

+5

Возможный дубликат [Что такое хорошие профилировщики .NET?] (Http: // stackoverflow.com/questions/3927/what-are-some-good-net-profilers) – 2011-06-21 19:53:24

+0

В нем много говорится о том, что причина для цензуры вопроса в том, что она «скорее всего, потребует обсуждения». – 2014-05-10 01:14:14

ответ

31

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

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

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

1

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

+0

Можете ли вы предоставить немного более подробную информацию по всему предмету MVP? спасибо, – 2009-07-16 07:07:13

+0

MVP получают лицензию на бесплатную переделку продуктов, ее дыру в петле, в которую вы попадаете, если у вас есть люди в вашей команде, которые MVP делают стоимость без проблем. – DevelopingChris 2009-07-16 21:18:40

+0

У вас есть ссылка, описывающая эту лазейку и как ее использовать? – 2009-08-11 14:51:13

4

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

+0

AQTime имеет огромное преимущество над ANT в том, что он поддерживает неуправляемый код. – 2012-01-18 23:24:06

40

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

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

+1

Мне тоже нравится ANTS. Это от Редгейта. – Marcel 2010-03-15 09:04:28

29

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

Patrick Smacchia's awesome NDepend отлично подходит для обеспечения статического анализа.

+1

dotTrace - действительно отличный профайлер, чрезвычайно прост в использовании. – 2010-01-17 20:36:29

+0

dotTrace 3.1 не работает с .NET 4. Нам нужно подождать dotTrace 4.0. – 2010-07-15 17:56:14

+1

Как обновление, как dotTrace 4 Performance, так и dotTrace 3.5 Memory поддерживают .NET 4. – gorohoroh 2011-05-23 14:10:30

7

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

2

Patrick Smacchia является отлично подходит для обеспечения статического анализа.

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

0

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

7

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

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

3

Я второй red gate's ANTS profiler. Я использовал его для отслеживания некоторых действительно тревожных проблем с производительностью, и он был прост в использовании (низкая кривая обучения) и представлял приятные подробные данные таким образом, который был легко понятен. Цена стоит того, но это не бесплатно ...

6

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

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

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

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

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

0

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

1

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

32

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

0

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

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

For that, I swear by this method.

2

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

11

Я поддерживаю всеобъемлющий list of profilers for .NET на SharpToolbox.com.

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

2

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