Профилирование кода в Visual Studio 2005 - PullRequest
5 голосов
/ 05 сентября 2008

У меня есть рабочее пространство Visual Studio 2005 Solution, в которое, в свою очередь, включено 8 проектов. Я хочу профилировать полный код (все проекты) и получить некоторую меру об абсолютных циклах, выполняемых каждой функцией для выполнения, или, по крайней мере, о процентном потреблении цикла.

Я проверил справку для VS 2005, а также параметры проекта, но не смог найти указателей на hwo, чтобы получить информацию о профиле. Любая помощь по этому поводу будет полезна.

-AD.

Ответы [ 8 ]

3 голосов
/ 05 сентября 2008

Если ваше приложение не особо загружает процессор, redgate ANTS Profiler - хороший выбор - построчная статистика может оказаться весьма полезной, и весь продукт будет чистым и хорошо продуманным.

Однако, если вашему приложению для нормальной работы требуется много ЦП, большинство профилировщиков .NET на рынке не сможет с этим справиться. Единственные два, которые я когда-либо нашел, которые будут работать для действительно тяжелого приложения, это JetBrains dotTrace и YourKit . Они очень похожи, что неудивительно, учитывая, что YourKit, похоже, был запущен бывшим сотрудником JetBrains. Лично я предпочитаю dotTrace, но это может быть просто потому, что именно это я и использовал первым, и у меня никогда не было веских причин для переключения.

Я протестировал ANTS, AQTime, DevPartner, GlowCode, Borland OptimizeIt и Intel VTune, и у них у всех слишком много накладных расходов для работы с требовательными приложениями. (VTune - возможное исключение, но его настолько сложно настроить и использовать, что я так и не смог точно выяснить, с чем он может работать. Это также очень дорого.)

2 голосов
/ 14 ноября 2008

Я рекомендую вам EQATEC профилировщик, который также включает в свой сайт трассировщик

Также это бесплатно и просто в использовании.

альтернативный текст http://www.eqatec.com/tools/profiler/profiler-logo.gif

2 голосов
/ 05 сентября 2008

Я использовал как профилировщик в DevPartner Compuware (мне все еще нравится называть его «TrueTime»), так и Rational Quantify . Мне всегда нравился Quantify лучше, но, поскольку я перемещался между компаниями, DevPartner обычно уже «стандарт».

И то, и другое дорого, но они (кажется) добавляют такую ​​большую ценность, что у любого коммерческого магазина не должно возникнуть проблем с инвестированием в некоторые места.

Quantify не требует специальной перестройки проекта - это было БОЛЬШОЙ. Это также разбилось меньше (это не говорит много, у него были свои проблемы). DevPartner также имеет тенденцию ломаться, поскольку каждая новая версия Visual Stuido была выпущена (возможно, это лучше сейчас?). Купите годовое соглашение об обслуживании, если вы идете по этому пути.

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

2 голосов
/ 05 сентября 2008

Полагаю, встроенный профилировщик Visual Studio 2005 поставляется только с Developer Edition и Team Edition. У меня есть версия Professional, в которой, похоже, нет встроенного средства профилирования.

-AD

1 голос
/ 05 сентября 2008

Мы используем DevPartner с Visual Studio 2005. Он дает вам анализ производительности конкретных проектов в вашем решении, которые вы хотите посмотреть. Мы также используем его для анализа управления памятью и анализа ошибок. Это коммерческий инструмент, так что это не бесплатно.

0 голосов
/ 05 сентября 2008
Однако если вашему приложению для нормальной работы требуется много ЦП, большинство профилировщиков .NET на рынке не сможет с этим справиться.

Я использовал пробную версию профилировщика RedGate Ant по оптимизирующему алгоритму, который обычно использует до 100% ЦП на одноядерных машинах, и хотя он работал медленно, ему удалось пройти и сообщить все, что мне нужно было знать. Чрезвычайно полезный инструмент. Интересно, какие алгоритмы вы используете на профилировщике муравья.

Кто-нибудь использовал профилировщик VS?

0 голосов
/ 05 сентября 2008

Я использую Jebrains profiler очень прост в использовании и очень хорошо работает.

0 голосов
/ 05 сентября 2008

Red-gate Profiler отлично подходит для этого.

...