bestsource

Windows에 가장 적합한 무료 C++ 프로파일러는 무엇입니까?

bestsource 2023. 4. 14. 21:57
반응형

Windows에 가장 적합한 무료 C++ 프로파일러는 무엇입니까?

C++ 코드의 보틀 넥을 찾기 위해 프로파일러를 찾고 있습니다.무료, 비침입적이고 좋은 프로파일링 도구를 찾고 싶습니다.저는 게임 개발자로 Xbox360용 PIX를 사용하고 있습니다만, 매우 좋다고 생각합니다만, 무료는 아닙니다.인텔 VTune은 알지만 무료는 아닙니다.

CodeXL은 현재 End Of Line'd AMD Code Analyst를 대체하고 있으며 둘 다 무료이지만 VTune만큼 고급은 아닙니다.

Sleepy도 있는데, 이것은 매우 간단하지만 많은 경우에서 이 일을 합니다.

주의: 위의 3가지 툴은 모두 몇 전부터 유지보수가 이루어지지 않았습니다.

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

Profy는 매우 쿨합니다.http://pauldoo.com/proffy/

면책사항:제가 쓴 거예요.

MS VC 7.1 이상에는 MicroProfiler라고 불리는 계측(정확한 기능) 프로파일러가 있습니다.여기(x64) 또는 여기(x86)에서 구할있습니다.코드의 변경이나 추가가 필요 없고, 애플리케이션을 닫거나 프로파일링 프로세스를 정지할 필요 없이 발신자 및 발신자에 대한 함수 통계 정보를 실시간으로 표시할 수 있습니다.

Visual Studio와 통합되어 프로젝트의 프로파일링을 쉽게 활성화/비활성화할 수 있습니다.클린 머신에 인스톨 할 수도 있습니다.프로파일되는 실행 파일과 함께 심볼 정보만 있으면 됩니다.

이 도구는 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이 필요합니다.

또 다른 프로파일러는 샤이니입니다.

​​​​​

Windows Performance Toolkit의 Windows Performance Analyzer(WPA) 부분을 적극 추천합니다.명령줄 Windows Performance Recorder(WPR) 도구는 나중에 Windows Performance Analyzer 도구를 사용하여 분석할 수 있는 Event Tracing for Windows(ETW) 로그를 기록합니다.툴의 사용법을 학습하기 위한 훌륭한 튜토리얼이 몇 가지 있습니다.

wpr.exe -start CPU
...
wpr.exe -stop output.etl
wpa.exe output.etl

저는 AQTime를 사용하고 있습니다.지금까지 사용한 것 중 최고의 프로파일링 도구 중 하나입니다.무료는 아니지만 30일간의 평가판을 받을 수 있기 때문에 1개의 프로젝트만 최적화 및 프로파일링을 계획하고 있다면 30일이면 충분하다고 생각합니다.(http://www.automatedqa.com/downloads/aqtime/index.asp)

cRunWatch라는 프로파일러를 사용해 보세요.파일은 2개뿐이므로 프로젝트와 통합하기 쉽고 코드 한 줄에 정확히 한 줄을 추가해야 합니다.

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

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

Luke Stackwalker를 사용했는데 Visual Studio 프로젝트에서 효과가 있었습니다.

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

Compuware DevPartner 제품군의 일부인 "TrueTime"을 수년간 사용해 왔습니다.[무료 버전](Compuware DevPartner Performance Analysis Community Edition 사용 가능)이 있습니다.

스탠드아론 Visual Studio Profiler인 VSPerfMon을 사용합니다.실행과 결과를 보기 위해 GUI 툴을 작성했습니다.

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

Embedded Profiler는 Linux와 Windwos에서 모두 무료로 사용할 수 있습니다.

프로파일러는 (기능에 따라) 침입적이지만 코드를 변경할 필요는 없습니다.특정 컴파일러 플래그(-gcc/MinGW 또는 MSVC의 /GH)를 추가하여 프로파일러 라이브러리를 링크합니다.완전한 콜 트리 또는 기능 목록만 제공할 수 있습니다.자체 분석기 GUI가 있습니다.

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

반응형