Будь-які гідні профайлери C #? [зачинено]


83

Мені потрібен профайлер C #.

Незважаючи на те, що я не проти заплатити за нього, ідеальним буде щось, що є безкоштовним або принаймні з пробною версією, оскільки для підняття замовлення на покупку потрібен час.

Будь-які рекомендації?



Це багато говорить про SO, що причиною цензури питання є те, що воно "може викликати дебати".
Гленн Мейнард,

Відповіді:


35

Ви можете спробувати наступне:

  • nprof (безкоштовно, але старий)
  • ProfileSharp (з відкритим кодом)
  • .Net Memory Profiler (дійсно добре для витоків пам'яті, існує пробна версія)

Редагувати: Nprof замінено на SlimTune і працює з програмами .Net 4.0


7
Я бавився з ProfileSharp. Це абсолютно жахливо.
Метью Растон,

1
nprof - це .Net 1.1, лише я думаю. Якщо ви можете скомпілювати в .Net 1.1, тоді все одно може бути корисно його профіль, а потім перекомпілювати в .Net 2 для випуску. Однак це неможливо, якщо ви починаєте використовувати такі функції .Net2, як загальні засоби та типи, що дозволяють онулювати.
redcalx

1
Погодьтеся з Метью, ProfileSharp - це жахливо, не вдалося змусити його профілювати навіть найпростіший командний рядок exe. Не витрачайте час даремно
Michael Dausmann

Здається, розробка на nprof почалася недавно.
Брайан Ортіс,

1
Я використовував .Net Memory Profiler для пошуку витоків пам'яті; це досить добре. Це моя печатка схвалення!
Cylon Cat

40

Я користувався профілем Ants у великому проекті c # півтора роки тому. Він справді вийшов дуже приємним, ніж коштував, і навіть перевершив кількох дорожчих конкурентів.

Він обчислює вартість майже з роздільною здатністю.


1
Мені теж подобаються АНТИ. Це від Redgate.
Марсель

32

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


Не безкоштовно за комерційну ліцензію (але все-таки дешево, 200 доларів).
mhenry1384

Так, схоже, вони змінили ліцензування на останню версію та почали стягувати плату за комерційне використання. Я все ж дуже рекомендую це.
HullCitySteve

3
Оновлення - схоже, вони знову змінили умови ліцензії, щоб зробити його безкоштовним для комерційного використання для стандартних програм .NET (але не CF або Silverlight)
HullCitySteve

3
Умови ліцензії знову змінились у випуску 3.6: тепер він безкоштовний для всіх платформ, включаючи CF та Silverlight, з обмеженням на кількість бібліотек DLL, які можна інструментувати за один сеанс.
Richard Flamsholt,

3
Більше не безкоштовно, і його викупив Telerik :(
pingoo

29

dotTrace від JetBrains широко використовується.

Дивовижний Патрік Smacchia в NDepend відмінно підходить для забезпечення статичного аналізу.


1
dotTrace - справді чудовий профайлер, надзвичайно простий у використанні.
Стефан Монов

dotTrace 3.1 не працює з .NET 4. Нам потрібно почекати dotTrace 4.0.
Боббі Кеннон,

1
Як оновлення, як dotTrace 4 Performance, так і dotTrace 3.5 Memory підтримують .NET 4.
Юра Гороховський,

11

Я веду вичерпний список профайлерів для .NET на SharpToolbox.com.

Ви знайдете там запропоновані тут інструменти та багато іншого, кожен із коротким описом того, що він пропонує.


Це здається застарілим (записи в redgate досить застарілі)
Ендрю Гаррі,

Гаррі, дякую, що ти вказав на це. Інформація про всі продукти RedGate тепер актуальна. sharptoolbox.com/authors/red-gate-software
Fabrice

7

Цікаво, що ніхто не згадує, що він є у вищих версіях Visual Studio - я завжди вважав, що це досить добре для профілювання виконання. Для профілювання пам'яті я використовую Memory Profiler, про яку вже згадувалося, але це не те, що я б загалом назвав «профілістом».

Яке профілювання ви намагалися зробити?



6

Ми використовуємо .NET Profiler Memory . Це якось потворно, але дуже корисно для пошуку звисаючих посилань.

Спочатку я спробував ANTS-профайлер Red Gate, який є дуже сексуальним, але з точки зору витоку пам’яті він відмовляється з таких причин:

1) Це смішно повільно. Потрібно було півгодини, щоб перевести додаток у стан, щоб почати запис (це займає 20 секунд без Red-Gate).

2) Red Gate повинен запустити власний інструмент на власному інструменті. На той момент, коли я зробив два знімки, він використовував 900 Мб пам’яті! Потім він розбився :(

Однак часовий компонент Red Gate ANTS вражав. Тільки не турбуйтеся про профілі пам'яті, якщо ви не маєте справу з тривіальним (невеликим розміром) додатком.


2
Ви пробували v4 з обох? Зараз набагато краще всебічно :)
thecoop

4

Я використовував AQtime, і він ніколи мене не підводив. Я впевнений, що існує пробна версія.


AQTime має величезну перевагу над ANT, оскільки підтримує некерований код.
Rick Minerich

3

Я буду другим профілем ANTS червоних воріт . Я використав його, щоб відстежити деякі справді тривожні проблеми продуктивності, і він був просто простим у використанні (низька крива навчання) і представив приємні, докладні дані таким чином, щоб було легко зрозуміти. Цінник того вартий, але він не безкоштовний ...


2

Неймовірний NDepend Патріка Смакчії чудово підходить для забезпечення статичного аналізу.

Я б ретельно порекомендував NDepend для статичного аналізу, але лише застережу, що вам, мабуть, доведеться відкласти день чи два, щоб фактично проаналізувати завантажену інформацію, яку він надає, а також з’ясувати, що насправді означає вся статистика з точки зору ваш код.



2

Тут роботу зробив профайлер EQATEC.


2

Поточний випуск SharpDevelop (3.1.1) має приємний інтегрований профайлер. Це досить швидко, і дуже добре інтегрується в IDE SharpDevelop та його програму NUnit. Результати відображаються в гнучкому стилі дерева / списку (використовуйте LINQ, щоб створити власний вибір). Подвійне клацання відображеного методу переходить безпосередньо до вихідного коду.


1

В даний час ними не користуйся, приятель мій захоплюється профілі Антів. Я знаю, що його платний продукт не впевнений, наскільки дорогий. Якщо ви випадково співробітники MVP, ви можете скористатися цим, щоб отримати ліцензію безкоштовно.


Ви можете надати трохи детальніше про все, що стосується MVP? спасибі,
kay.one

MVP отримують ліцензію на безкоштовне переведення продуктів, це дірка, яка потрапляє у вас, якщо у вашій команді є люди, які MVP роблять вартість непроблемою.
DevelopingChris

Чи є у вас посилання, що описує цю лазівку та як на ній використовувати?
Кіт Сірмонс,

1

Тут AQTime (як perf, так і пам’ять) або ANTS (v4 профайлер продуктивності або v5 бета-профайлер).



0

Незважаючи на те, що не дуже добре профілізує використання пам'яті, профайлер, що входить до деяких версій Visual Studio, дуже добре спрацьовує швидкість виконання профілювання.


один із способів дістатися до профайлера VS2010 - це після завантаження рішення в меню «Налагодження» знайти «Почати аналіз продуктивності». Детально про його можливості можна дізнатися
ShawnFeatherly

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.