Windows를위한 최고의 무료 C ++ 프로파일 러 란 무엇입니까? [닫은]


224

내 C ++ 코드에서 병목 현상을 찾기 위해 프로파일 러를 찾고 있습니다. 무료의 비침 입적이며 우수한 프로파일 링 도구를 찾고 싶습니다. 저는 게임 개발자이며 Xbox 360 용 PIX를 사용하여 매우 좋았지 만 무료는 아닙니다. Intel VTune도 알고 있지만 무료는 아닙니다.


:의 VTune 지금 무료로 나타납니다 software.intel.com/en-us/vtune . 커뮤니티 에디션을 다운로드했으며 C ++ 및 프로파일 링 된 C # 코드 프로파일 링에 큰 역할을합니다
— Dr. ABT

1
이 주제는 어떻습니까? 내가 아는 한 개발 도구는 주제입니다. 그래도 의견 기반입니다.
— Nic Szerman

답변:


135

CodeXL 은 이제 End Of Line의 AMD Code Analyst를 대체했으며 둘 다 무료이지만 VTune만큼 발전하지는 않았습니다. 슬리피 도 있는데 매우 간단하지만 많은 경우에 작업을 수행합니다.


4
CodeAnalyst에 대한 링크는 다음과 같습니다. developer.amd.com/CPU/CODEANALYST/Pages/default.aspx
— epotter

1
나는 지금 그것을 시도했지만 전혀 좋아하지 않았다. TrueTime이 10 년 전에 잘 할 수 있었던 함수의 총 시간 (수취인 포함)을 얻는 방법조차 이해할 수 없었습니다.
— Pavel Radzivilovsky

wxWidgets에 의존하지 않지만 명령 줄에서 실행되는 졸린 적응을 썼습니다. 실행중인 프로세스에 대해 일정 시간 동안 실행 한 다음 중지하면 프로세스가 수행 한 시간에 대한 통계를 얻습니다. 코드를 사용하기 위해 어떤 식 으로든 코드를 수정할 필요는 없다는 점에서 비 신뢰 적이지만 호출 스택을 읽을 때 스레드가 일시 중단됩니다. 또한 의미있는 출력을 얻을 수 있도록 pdb 파일이 필요하지만 모든 프로파일 러에 적용되는 것 같습니다.
— CashCow

xperf를 사용해 보는 것이 좋습니다 .AMD 코드 분석가보다 우수하다는 것을 알았습니다.
— MW_dev

1
CodeAnalyst는 중요한 버그 수정을 제외하고는 더 이상 업데이트를받지 않습니다. 그들은 CodeXL로 전환했습니다. 답변을 업데이트 할 수 있는 링크는 다음과 같습니다 . 그런데 CodeAnalyst / XL에 대해 알려 주셔서 감사합니다.
— Adri CS

61

Very Sleepy 는 Windows 시스템 용 C / C ++ CPU 프로파일 러입니다 (무료).
CppCheck 는 Windows 시스템 용 정적 C / C ++ CPU 프로파일 러입니다 (무료).


20
googletest는 단위 테스트 프레임 워크입니다. 어떻게 프로파일 링을 수행 할 수 있습니까?
— greatwolf

gcc 스택에서 Windows 바이너리를 사용하는 경우 이것이 최선의 선택입니다. AMD CodeAnalyst는 Windows에서 gcc 기호를 인식하지 못하지만 매우 졸립니다!
— Mike


17

MicroProfiler라는 MS VC 7.1 이상에 대한 계측 (정확한 기능) 프로파일 러가 있습니다. 여기 (x64) 또는 여기 (x86) 얻을 수 있습니다 . 그것은 수정이나 추가가 필요하지 않습니다 당신의 코드와의 호출자와 피 호출자와 기능 통계를 표시 할 수있다 실시간 / 응용 프로그램을 종료 프로파일 링 프로세스를 중지 할 필요없이.

VisualStudio와 통합되므로 프로젝트 프로파일 링을 쉽게 활성화 / 비활성화 할 수 있습니다. 클린 머신에 설치하는 것도 가능하며, 프로파일 정보와 함께 심볼 정보 만 있으면됩니다.

이 도구는 Very Sleepy와 같은 샘플링 프로파일 러의 통계 근사가 충분하지 않은 경우에 유용합니다.

대략적인 비교는 AQTime을 능가하는 것으로 나타났습니다 (계측에서 호출 될 때 기능 수준 실행). 다음 프로그램 (전체 최적화, 인라인 비활성화)은 AQTime이 단순히 통계를 수집하는 것보다 실시간으로 결과를 표시하는 마이크로 프로파일 러로 3 배 더 빠르게 실행됩니다.

void f()
{
    srand(time(0));

    vector<double> v(300000);

    generate_n(v.begin(), v.size(), &random);
    sort(v.begin(), v.end());
    sort(v.rbegin(), v.rend());
    sort(v.begin(), v.end());
    sort(v.rbegin(), v.rend());
}

1
사용하기 쉽고 초고속 프로파일 러입니다. 내가 해결하지 않은 한 가지 문제는 디버깅을 마친 후에 프로파일 러 창이 자동으로 닫히지 않고 작업 관리자를 통해 프로젝트를 다시 컴파일해야한다는 문제입니다 (프로젝트를 다시 컴파일 할 수 없음).
— Ludek Vodicka

1
일반 CLOSE 버튼으로 앱을 닫은 후 프로파일 러 창도 정기적으로 닫을 수 있음을 알았습니다. 그러나 Shift + F5 바로 가기 (디버깅 VS 명령 중지)로 앱을 종료하면 프로파일 러 창 닫기 버튼이 비활성화됩니다.
— Ludek Vodicka

VS 2015에서는 작동하지 않습니다.
— rustyx

1
1.1.590에서 수정되었습니다. Visual Studio Gallery 페이지 ( visualstudiogallery.msdn.microsoft.com/… )의 업데이트 참조
— Arty

1
이거 정말 맛있어요! 더 높은 순위에 있어야합니다! 설치 및 실행이 매우 간단하고 알아야 할 내용을 대부분 제공합니다. 두 번째 선택은 Windows 성능 분석기입니다. geekswithblogs.net/akraus1/archive/2015/04/21/163342.aspx
— Steve

10

Microsoft에는 Windows Performance Toolkit이 있습니다.

Windows Vista, Windows Server 2008 또는 Windows 7이 필요합니다.


6
무료가 아닌 방법은 무엇입니까? Windows SDK의 일부입니다. 문제없이 다운로드 할 수있었습니다. (실제로 우리는 MSDN 구독을 보유하고 있으므로 일부 사람들과는 다른 경험이있을 수 있습니다.)
— epotter

1
사용 가능 여부에 관계없이 링크가 더 이상 제대로 작동하지 않습니다.
— Tomáš Zato-복원 모니카

7

새로운 추가 사항은 반짝 입니다.

​​​​​


3
다운로드 가능한 바이너리를 찾을 수없고 소스 코드 만 찾을 수 있습니다. 매우 편리하지 않습니다.
— Monsignor

5

WPT (Windows Performance Toolkit) 또는 XPERF를 적극 권장 합니다.

명령 행 xperf 명령 행 도구는 GUI xperfview 도구를 사용하여 분석 할 수있는 ETW (Event Tracing for Windows) 로그를 기록합니다.

stacktrace 명령 줄 인수를 사용하면 병목 현상을 프로파일 링하고 문제를 해결할 때 회사에서 매우 유용한 도구로 입증되었습니다. 가장 강력한 것 중 하나는 WPT를 유용한 Windows XP 에서도 모든 환경에 설치할 수 있다는 것입니다 .

에 윈도우 8 Windows 성능 분석기는 더 높은 수준으로 xperf합니다.

ETW 로그에서 제공되는 어려운 숫자와 통계는 AFAIK는 아니지만 훌륭한 Visual Studio Profiler (2010/2012)를 제외하고는 자세히 비교할 수 없습니다.

xperf를 사용한 적이 없다면 ... 무엇이 빠졌는지 모른다


1
글쎄, 나는 사이트에 작동하는 URL이 빠져 있다는 것을 안다.
— Tomáš Zato-복원 모니카

3

나는 AQTime을 사용하는데, 그것은 내가 사용해 본 최고의 프로파일 링 도구 중 하나입니다. 무료는 아니지만 30 일 평가판을받을 수 있으므로 한 프로젝트 만 최적화하고 프로파일 링 할 계획이고 30 일이면 충분합니다.이 응용 프로그램을 사용하는 것이 좋습니다. ( http://www.automatedqa.com/downloads/aqtime/index.asp )


이 도구 만이 IIS에서 릴리스 모드 혼합 (관리 및 기본) 웹 응용 프로그램으로 컴파일 된 프로파일을 작성하는 데 도움이되었습니다.
— Monsignor

불행히도 제품을 평가하려는 사람들을 지원하지 않습니다.
— Lucky Luke

현재 이들은 제한된 기능으로 14 일 평가판을 제공하고 있습니다.
— Max



0

"TrueTime-Compuware의 DevPartner 제품군의 일부였습니다. [무료 버전] (Compuware DevPartner Performance Analysis Community Edition을 사용해 볼 수 있음)이 있습니다.



0

EmbeddedProfiler를 사용할 수 있으며 Linux와 Windwos 모두 무료입니다.

프로파일 러는 기능성에 영향을 미치지 만 코드를 수정하지 않아도됩니다. 특정 컴파일러 플래그 (gcc / MinGW의 경우 -finstrument-functios 또는 MSVC의 경우 / GH)를 추가하고 프로파일 러의 라이브러리를 연결하십시오. 전체 콜 트리 또는 기능 목록 만 제공 할 수 있습니다. 자체 분석기 GUI가 있습니다.

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