괜찮은 C # 프로파일 러가 있습니까? [닫은]


83

C # 프로파일 러가 필요합니다.

나는 비용을 지불하는 것을 싫어하지는 않지만, 구매 주문서를 올리는 데 시간이 걸리기 때문에 무료이거나 최소한 평가판이있는 것이 이상적 일 것입니다.

권장 사항이 있습니까?



질문을 검열하는 이유는 "토론을 권유 할 가능성이 높기 때문"이라는 점에 대해 많이 말합니다.
Glenn Maynard 2014 년

답변:


35

다음을 시도 할 수 있습니다.


편집 : Nprof는 대체되었습니다 SlimTune 및 .NET 4.0 응용 프로그램과 함께 작동


7
나는 ProfileSharp를 가지고 놀았다. 절대적으로 끔찍합니다.
Matthew Ruston

1
nprof는 .Net 1.1 뿐이라고 생각합니다. .Net 1.1로 컴파일 할 수 있다면 프로파일 링 한 다음 릴리스를 위해 .Net 2로 다시 컴파일하는 것이 여전히 유용 할 수 있습니다. 그러나 제네릭 및 nullable 형식과 같은 .Net2 기능을 사용하기 시작하면 불가능합니다.
redcalx

1
Matthew와 동의하십시오. ProfileSharp는 끔찍합니다. 가장 간단한 명령 줄 exe도 프로파일 링 할 수 없습니다. 시간 낭비하지 마십시오
Michael Dausmann 2009-08-26

nprof에 대한 개발이 최근 들어온 것 같습니다.
Brian Ortiz

1
.Net Memory Profiler를 사용하여 메모리 누수를 찾았습니다. 꽤 좋습니다. 내 승인을 받았어!
Cylon Cat

40

1 년 반 전에 대규모 C # 프로젝트에서 Ants 프로파일 러 를 사용했습니다 . 비용 대비 성능이 매우 뛰어나고 더 비싼 경쟁사보다 훨씬 뛰어난 성능을 보였습니다.

거의 라인 단위로 비용을 계산합니다.


1
나는 개미도 좋아한다. Redgate에서 왔습니다.
Marcel

32

EQATEC 프로파일 러는 매우 좋은이며, 완전 무료입니다. 설정 및 사용이 쉽고 응용 프로그램에 너무 많은 오버 헤드를 추가하지 않는 것 같습니다. 나는 오늘 막 사용하기 시작했고 다른 방법으로는 발견하지 못했을 몇 가지 병목 현상을 이미 발견했습니다.


상업용 라이선스에는 무료가 아닙니다 (하지만 여전히 저렴함, $ 200).
mhenry1384

예, 최신 버전에 대한 라이선스를 변경하고 상업적 사용에 대한 비용을 청구하기 시작한 것 같습니다. 그래도 여전히 강력히 추천합니다.
HullCitySteve 2010 년

3
업데이트-표준 .NET 응용 프로그램 (CF 또는 Silverlight 제외)에 대해 상업적으로 사용할 수 있도록 라이선스 조건을 다시 변경 한 것 같습니다.
HullCitySteve

3
릴리스 3.6에서 라이선스 조건이 다시 변경되었습니다. 이제 CF 및 Silverlight를 포함한 모든 플랫폼에 대해 무료 이며 한 세션에서 계측 할 수있는 DLL 수에 제한이 있습니다.
Richard Flamsholt 2010

3
더 이상 무료가
아니며

29

JetBrains의 dotTrace 가 널리 사용됩니다.

Patrick Smacchia의 멋진 NDepend 는 정적 분석을 제공하는 데 탁월합니다.


1
dotTrace는 사용하기 매우 쉬운 정말 뛰어난 프로파일 러입니다.
Stefan Monov

dotTrace 3.1은 .NET 4에서 작동하지 않습니다. dotTrace 4.0을 기다려야합니다.
Bobby Cannon

1
업데이트로 dotTrace 4 Performance 및 dotTrace 3.5 메모리는 모두 .NET 4를 지원합니다.
Jura Gorohovsky

11

저는 SharpToolbox.com 에서 .NET 용 프로파일 러 의 포괄적 인 목록을 유지하고 있습니다.

여기에 제안 된 도구가 있으며, 각각 제안하는 내용에 대한 간략한 설명이 포함되어 있습니다.


구식 인 것 같습니다 (redgate 항목은 매우 오래되었습니다)
Andrew Harry

해리, 지적 해주셔서 감사합니다. 이제 모든 RedGate 제품에 대한 정보가 최신 상태입니다. sharptoolbox.com/authors/red-gate-software
Fabrice

7

Visual Studio의 고급 버전에는 아무도 언급하지 않는다는 것이 흥미 롭습니다. 저는 항상 이것이 실행 프로파일 링에 충분하다는 것을 알았습니다. 메모리 프로파일 링의 경우 이미 언급 한 메모리 프로파일 러를 사용하지만 일반적으로 '프로파일 러'라고 설명하는 것은 아닙니다 .

어떤 종류의 프로파일 링을하려고 하셨나요?



6

우리는 .NET 메모리 프로파일 러를 사용 합니다. 추악하지만 매달려있는 참조를 찾는 데 매우 유용합니다.

나는 원래 매우 섹시한 Red Gate의 ANTS 프로파일 러 를 시도했지만 메모리 누수 관점에서 볼 때 다음과 같은 이유로 짜증납니다.

1) 엄청나게 느립니다. 애플리케이션을 녹화를 시작하는 상태로 만드는 데 30 분이 걸렸습니다 (레드 게이트없이 20 초 소요).

2) Red Gate는 자체 도구에서 자체 도구를 실행해야합니다. 두 개의 스냅 샷을 마칠 때까지 900MB의 메모리를 사용했습니다! 그런 다음 추락했습니다 :(

그러나 Red Gate ANTS의 타이밍 구성 요소는 인상적이었습니다. 사소한 (작은 풋 프린트) 애플리케이션을 다루지 않는 한 메모리 프로파일 러에 신경 쓰지 마십시오.


2
둘 다 v4를 사용해 보셨습니까? 지금은 훨씬 나아졌습니다. :)
thecoop 2009

4

나는 AQtime을 사용해 왔고 결코 실망시키지 않았습니다. 평가판이 있다고 확신합니다.


AQTime은 관리되지 않는 코드를 지원한다는 점에서 ANT보다 큰 이점이 있습니다.
Rick Minerich

3

두 번째 red gate의 ANTS 프로파일 러 입니다. 나는 그것을 사용하여 정말 문제가되는 성능 문제를 추적했으며 사용하기가 매우 간단했고 (낮은 학습 곡선) 이해하기 쉬운 방식으로 훌륭하고 상세한 데이터를 제공했습니다. 가격표는 그만한 가치가 있지만 무료는 아닙니다 ...


2

Patrick Smacchia의 멋진 NDepend는 정적 분석을 제공하는 데 탁월합니다.

정적 분석을 위해 NDepend를 철저히 권장하지만, 실제로 제공하는 정보의 트럭 부하를 분석하고 모든 통계가 실제로 의미하는 바를 파악하려면 하루나 이틀을 따로 할애해야합니다. 귀하의 코드.


2

.NET 메모리 프로파일 러에 행운이있었습니다.


2

EQATEC 프로파일 러가 여기서 작업했습니다.


2

SharpDevelop (3.1.1) 의 현재 릴리스 에는 멋진 통합 프로파일 러가 있습니다. 매우 빠르며 SharpDevelop IDE 및 NUnit 실행기에 매우 잘 통합됩니다. 결과는 유연한 트리 / 목록 스타일로 표시됩니다 (LINQ를 사용하여 선택 항목 만들기). 표시된 메소드를 Doublecliking하면 소스 코드로 바로 이동합니다.


1

현재는 사용하지 않습니다. 제 친구가 Ants 프로파일 러에 대해 열광합니다. 나는 그것이 얼마나 비싸지 않은 유료 제품임을 알고 있습니다. MVP를 배치하는 경우이를 활용하여 무료로 라이선스를 얻을 수 있습니다.


MVP에 대해 좀 더 자세히 설명해 주시겠습니까? 감사합니다,
kay.one

MVP는 무료로 제품을 redgate 할 수있는 라이선스를 얻습니다. 팀에 MVP가 비용을 문제로 삼고있는 사람이있는 경우, 그 루프 구멍이 있습니다.
DevelopingChris

이 허점과이를 활용하는 방법을 설명하는 링크가 있습니까?
Keith Sirmons

1

여기에서 AQTime (성능과 메모리 모두) 또는 ANTS (v4 성능 프로파일 러 또는 v5 베타 메모리 프로파일 러).



0

메모리 사용량을 프로파일 링하는 데 그다지 좋지는 않지만 일부 버전의 Visual Studio에 포함 된 프로파일 러는 실행 속도를 프로파일 링하는 데 매우 효과적입니다.


VS2010 프로파일 러로 이동하는 한 가지 방법은 솔루션이로드 된 후 "디버그"메뉴에서 "성능 분석 시작"을 찾는 것입니다. 기능에 대한 자세한 내용은 msdn.microsoft.com/query/…에 있습니다.
ShawnFeatherly

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.