다음을 통해 공유


/POGOSAFEMODE(스레드 안전 모드에서 PGO 실행)

/POGOSAFEMODE 옵션은 Visual Studio 2015부터 더 이상 사용되지 않습니다. 대신 /GENPROFILE:EXACT/GENPROFILE:NOEXACT 옵션을 사용합니다. /POGOSAFEMODE 링커 옵션은 PGO(프로필 기반 최적화) 학습 실행 중에 프로필 데이터 캡처에 스레드로부터 안전한 모드를 사용하도록 계측된 빌드를 만들도록 지정합니다.

구문

/POGOSAFEMODE

설명

PGO(프로필 기반 최적화)에서는 프로파일링 단계 중에 고속 모드안전 모드의 두 가지 모드를 사용할 수 있습니다. 프로파일링이 빠른 모드인 경우 증분 명령을 사용하여 데이터 카운터를 늘입니다. 증분 명령은 더 빠르지만 스레드로부터 안전하지 않습니다. 프로파일링이 안전 모드인 경우 연동 증분 명령을 사용하여 데이터 카운터를 늘입니다. 이 명령은 증분 명령과 동일한 기능을 하며 스레드로부터 안전하지만 속도가 느립니다.

/POGOSAFEMODE 옵션은 계측된 빌드가 안전 모드를 사용하도록 설정합니다. 이 옵션은 PGO 계측 링커 단계에서 사용되지 않는 /LTCG:PGINSTRUMENT 를 지정한 경우에만 사용할 수 있습니다.

기본적으로 PGO 프로파일링은 고속 모드로 작동합니다. /POGOSAFEMODE 는 안전 모드를 사용하려는 경우에만 필요합니다.

안전 모드에서 PGO 프로파일링을 실행하려면 /GENPROFILE:EXACT(기본 설정)를 사용하거나 시스템에 따라 환경 변수 PogoSafeMode 또는 링커 스위치 /POGOSAFEMODE를 사용해야 합니다. x64 컴퓨터에서 프로파일링을 수행하는 경우 링커 스위치를 사용해야 합니다. x86 컴퓨터에서 프로파일링을 수행하는 경우 PGO 계측 프로세스를 시작하기 전에 링커 스위치를 사용하거나 환경 변수를 모든 값으로 정의할 수 있습니다.

Visual Studio 개발 환경에서 이 링커 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.

  2. 구성 속성>링커>최적화 속성 페이지를 선택합니다.

  3. 링크 시간 코드 생성 속성에서 프로필 기반 최적화 - 계측(/LTCG:PGInstrument)을 선택합니다.

  4. 구성 속성>링커>명령줄 속성 페이지를 선택합니다.

  5. 추가 옵션 상자에 /POGOSAFEMODE 옵션을 입력합니다. 확인을 선택하여 변경 내용을 저장합니다.

프로그래밍 방식으로 이 링커 옵션을 설정하려면

참고 항목

/GENPROFILE 및 /FASTGENPROFILE
/LTCG
프로필 기반 최적화
프로필 기반 최적화 환경 변수