IT story

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

hot-time 2020. 4. 24. 08:10
반응형

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


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


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


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


Proffy는 매우 멋지다 : http://pauldoo.com/proffy/

면책 조항 : 나는 이것을 썼습니다.


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());
}

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

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


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

​​​​​


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를 사용한 적이 없다면 ... 무엇이 빠졌는지 모른다


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


cRunWatch라는 프로파일 러를 사용해보십시오. 파일이 두 개이므로 프로젝트와 쉽게 통합 할 수 있으며 코드 한 줄을 계측하려면 정확히 한 줄을 추가해야합니다.

http://ravenspoint.wordpress.com/2010/06/16/timing/

Boost 라이브러리가 필요합니다.


나는 Luke Stackwalker를 사용 했으며 Visual Studio 프로젝트에서 일했습니다.

다른 흥미로운 프로젝트는 다음과 같습니다.


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


StandAlone Visual Studio Profiler 인 VSPerfMon을 사용합니다. 나는 그것을 실행하고 결과를 볼 수 있도록 GUI 도구를 썼다.

http://code.google.com/p/vsptree/


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

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

참고 URL : https://stackoverflow.com/questions/67554/whats-the-best-free-c-profiler-for-windows

반응형