Есть ли приличные профилировщики C#? [закрытый]
Мне нужен профилировщик C#.
хотя я не прочь заплатить за него, что-то бесплатное или, по крайней мере, с пробной версией было бы идеальным, так как требуется время, чтобы поднять заказ на покупку.
какие рекомендации?
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 МБ памяти к тому времени, когда я закончил два снимка! Затем он разбился : (
однако компонент времени муравьев Красных ворот был впечатляющим. Просто не беспокойтесь о профилировщике памяти, если вы не имеете дело с тривиальным (небольшим размером) приложением.
Я буду вторым профилировщик муравьев Красных ворот. Я использовал его для отслеживания некоторых действительно тревожных проблем с производительностью, и он был очень прост в использовании (Низкая кривая обучения) и представил хорошие, подробные данные таким образом, что их было легко понять. Ценник стоит того, но это не бесплатно ...
Патрик smacchia является отлично подходит для обеспечения статического анализ.Я бы полностью рекомендовал NDepend для статического анализа, но просто предупреждаю, что вам, вероятно, придется отложить день или два, чтобы фактически проанализировать грузовик информации, которую он предоставляет, а также выяснить, что все статистические данные на самом деле означают с точки зрения вашего кода.
текущий выпуск SharpDevelop (3.1.1) имеет хороший интегрированный профайлер. Это довольно быстро, и очень хорошо интегрируется в SharpDevelop IDE и его NUnit runner. Результаты отображаются в гибком стиле дерева / списка (используйте LINQ для создания собственного выбора). Удвоение отображаемого метода переходит непосредственно в исходный код.
В настоящее время не использовать их, мой приятель бредит муравьев профилировщик. Я знаю, что это платный продукт, не знаю, насколько дорогой. Если вам посчастливилось работать с MVP, вы можете использовать это, чтобы получить лицензию бесплатно.
AQTime (обе производительности и памяти) или муравьев (профайлер производительности V4 или V5 бета памяти профилировщик) здесь.
Я нашел.NET Memory Profiler вчера, и я должен сказать, что я очень впечатлен этим.
Я собираюсь заказать лицензию сегодня.
несмотря на то, что профилирование памяти не очень хорошо используется, профилировщик, включенный в некоторые версии Visual Studio, очень хорошо справляется со скоростью выполнения профилирования.
какова ваша цель?
Это ваша цель, чтобы найти конкретные заявления и получить примерное представление о том, что они вносят в общее время выполнения, так что вы можете найти способы, чтобы сделать их по-разному?
SlimTune выглядит очень многообещающим. http://code.google.com/p/slimtune/