Мне нужен профилировщик C #.
Хотя я не прочь заплатить за один, что-то бесплатное или, по крайней мере, с пробной версией было бы идеальным, поскольку для создания заказа на покупку требуется время.
Какие-нибудь рекомендации?
Мне нужен профилировщик C #.
Хотя я не прочь заплатить за один, что-то бесплатное или, по крайней мере, с пробной версией было бы идеальным, поскольку для создания заказа на покупку требуется время.
Какие-нибудь рекомендации?
Ответы:
Вы можете попробовать следующее:
Изменить: Nprof был заменен на SlimTune и работает с приложениями .Net 4.0
Полтора года назад я использовал профилировщик Ants в большом проекте на C #. Он действительно работал очень хорошо с такой ценой и даже превосходил некоторых более дорогих конкурентов.
Он рассчитывает стоимость практически с построчным разрешением.
EQATEC профайлер очень хорошо , и является полностью бесплатным. Его легко настроить и использовать, и, похоже, он не добавляет слишком много накладных расходов приложению. Я только начал его использовать сегодня и уже нашел пару узких мест, которые иначе бы не заметил.
Я поддерживаю полный список профилировщиков для .NET на SharpToolbox.com.
Там вы найдете предлагаемые здесь инструменты и многое другое, каждый с кратким описанием того, что он предлагает.
Интересно, что никто не упоминает о том, что он есть в старших версиях Visual Studio - я всегда считал, что этого достаточно для профилирования выполнения. Для профилирования памяти я использую Memory Profiler, о котором уже упоминалось, но это не то, что я обычно называю «профилировщиком».
Какого рода профилирование вы пытались выполнить?
Там, где я работаю, мы используем профайлер Ants . Он дает очень подробную информацию в простой форме.
Мы используем .NET Memory Profiler . Это некрасиво, но очень полезно для поиска висячих ссылок.
Изначально я попробовал профайлер ANTS от Red Gate, который очень привлекателен, но с точки зрения утечки памяти он отстой по следующим причинам:
1) Это до смешного медленно. На то, чтобы приложение перешло в состояние для начала записи, ушло полчаса (без красных ворот это занимает 20 секунд).
2) Red Gate необходимо запускать собственный инструмент на собственном инструменте. К тому моменту, когда я сделал два снимка, он использовал 900 МБ памяти! Затем он разбился :(
Однако временная составляющая Red Gate ANTS была впечатляющей. Только не беспокойтесь о профилировщике памяти, если только вы не имеете дело с тривиальным (небольшим) приложением.
Я использовал AQtime, и он меня ни разу не подводил. Я уверен, что есть пробная версия.
Я буду вторым профайлером ANTS Red Gate . Я использовал его, чтобы отследить некоторые действительно тревожные проблемы с производительностью, и он был чрезвычайно простым в использовании (низкая кривая обучения) и предоставлял хорошие, подробные данные таким образом, чтобы их было легко понять. Ценник того стоит, но не бесплатно ...
Удивительный NDepend Патрика Смаччиа отлично подходит для статического анализа.
Я бы настоятельно рекомендовал NDepend для статического анализа, но имейте в виду, что вам, вероятно, потребуется выделить день или два, чтобы на самом деле проанализировать грузовик информации, которую он предоставляет, а также выяснить, что на самом деле означает вся статистика с точки зрения ваш код.
Профайлер EQATEC сделал здесь свою работу.
Текущая версия SharpDevelop (3.1.1) имеет хороший интегрированный профилировщик. Это довольно быстро и очень хорошо интегрируется в среду разработки SharpDevelop и ее средство запуска NUnit. Результаты отображаются в гибком стиле «дерево / список» (используйте LINQ для создания собственного выбора). Двойной щелчок по отображаемому методу позволяет перейти непосредственно к исходному коду.
В настоящее время не пользуюсь ими, мой приятель восторженно отзывается о профайлере Ants. Я знаю, что это платный продукт, не уверен, насколько он дорог. Если у вас есть MVP, вы можете воспользоваться этим, чтобы получить бесплатную лицензию.
AQTime (и перфоманс, и память) или ANTS (профилировщик производительности v4 или бета-профилировщик памяти v5) здесь.
Вчера я нашел .NET Memory Profiler и должен сказать, что он меня очень впечатлил.
Я собираюсь заказать лицензию сегодня.
Профилировщик, включенный в некоторые версии Visual Studio, не очень хорошо справляется с профилированием использования памяти, но очень хорошо справляется со скоростью выполнения профилирования.
Какая у тебя цель?
Ваша цель - найти определенные операторы и получить приблизительное представление о том, какой вклад они вносят в общее время выполнения, чтобы вы могли найти способы сделать их по-другому?