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

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

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


person PaulStock    schedule 06.08.2008    source источник


Ответы (4)


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

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

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

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

person Nathan    schedule 07.08.2008

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

person Yaakov Ellis    schedule 06.08.2008

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

person Greg Hurlman    schedule 06.08.2008

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

person winwaed    schedule 03.01.2011
comment
Обратите внимание, что в VS2010 это включено только в Premium и Ultimate. - person Adam Lewis; 01.05.2012