/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 개발 환경에서 이 링커 옵션을 설정하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.
구성 속성>링커>최적화 속성 페이지를 선택합니다.
링크 시간 코드 생성 속성에서 프로필 기반 최적화 - 계측(/LTCG:PGInstrument)을 선택합니다.
구성 속성>링커>명령줄 속성 페이지를 선택합니다.
추가 옵션 상자에 /POGOSAFEMODE 옵션을 입력합니다. 확인을 선택하여 변경 내용을 저장합니다.
프로그래밍 방식으로 이 링커 옵션을 설정하려면
- AdditionalOptions을(를) 참조하세요.
참고 항목
/GENPROFILE 및 /FASTGENPROFILE
/LTCG
프로필 기반 최적화
프로필 기반 최적화 환경 변수