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