Как лучше всего найти долго выполняющийся код в приложении Windows Forms?

StackOverflow https://stackoverflow.com/questions/3942

  •  08-06-2019
  •  | 
  •  

Вопрос

Я унаследовал приложение Windows Forms, написанное на VB.Net.Некоторые части приложения работают ужасно медленно.Какой самый простой способ определить, какие части кода тормозят?Я ищу способ быстро найти самые медленные подпрограммы и сначала заняться ими, пытаясь ускорить приложение.

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

Это было полезно?

Решение

Я ценю желание найти бесплатное программное обеспечение.Однако в этом случае я бы настоятельно рекомендовал рассмотреть все варианты, включая коммерческие продукты.Я пытался поиграть с nProf (думаю, это версия 0.1), но безуспешно.Несмотря на это, профилирование производительности приложения — дело тонкое, и лучше всего его выполнять с помощью мощного и гибкого инструмента.Если вы не работаете бесплатно, я твердо уверен, что время, которое вы сэкономите при использовании профессионального продукта, намного перевесит стоимость лицензии.И, конечно же, если вы хотите профилировать только одно приложение, каждый коммерческий пакет имеет 15- или 30-дневную пробную версию, что более чем достаточно для выявления любых проблем в существующем приложении.И если вам нужна поддержка профилирования для чего-то большего, чем просто разовый проект, в любом случае лучше купить полноценный инструмент.

Мы используем Профилировщик ANTS от RedGate и остались им очень довольны.Я также использовал Профилировщик памяти .NET с отличными результатами.Самое замечательное в .NET Memory Profiler то, что он может подключаться к работающим производственным приложениям и профилировать их, что действительно спасло наши задницы, когда у нас возникла утечка памяти в рабочей среде, которую мы не смогли воспроизвести в нашей тестовой лаборатории.

Ребята из JetBrains также есть профилировщик под названием dotTrace который я не пробовал, но я должен верить, что если он из магазина JetBrains, то он, вероятно, тоже будет на высшем уровне.

В любом случае, мой совет таков:попробуйте исправить свое приложение в течение периода бесплатной пробной версии одного из них или совокупной комбинации трех из них (минимум 45 дней бесплатного использования), а если этого времени недостаточно, выберите свой любимый и установите один из них.Вы не пожалеете.

Другие советы

нПроф это бесплатный профилировщик .Net (ссылка).

нПроф — хороший бесплатный инструмент для профилирования .Net.

В состав Visual Studio также входит профилировщик производительности, который довольно хорош.он поставляется не со всеми версиями - я думаю, для VS2008 вам нужна версия Developer Edition.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top