/GENPROFILE
, /FASTGENPROFILE
(프로파일링 계측 빌드 생성)
PGO(프로필 기반 최적화)를 지원하기 위해 링커에서 파일 생성 .pgd
을 지정합니다. /GENPROFILE
다른 /FASTGENPROFILE
기본 매개 변수를 사용합니다. 프로파일링 중에 속도 및 메모리 사용량보다 정밀도를 선호하는 데 사용합니다 /GENPROFILE
. 정밀도보다 더 작은 메모리 사용량과 속도를 선호하는 데 사용합니다 /FASTGENPROFILE
.
구문
/GENPROFILE
[:
profile-argument
[,
profile-argument
...]]
/FASTGENPROFILE
[:
profile-argument
[,
profile-argument
...]] \
profile-argument
{COUNTER32
|COUNTER64
}
{EXACT
|NOEXACT
}
MEMMAX=
value
MEMMIN=
value
{PATH
|NOPATH
}
{TRACKEH
|NOTRACKEH
}
PGD=
filename
인수
모든 인수를 profile-argument
에 지정하거나 /FASTGENPROFILE
에 지정할 /GENPROFILE
수 있습니다. 여기에 나열된 인수는 파이프 문자(|
)로 구분되어 있으며 상호 배타적입니다. 쉼표 문자(,
)를 사용하여 인수를 구분합니다. 인수, 쉼표 또는 콜론(:
) 뒤에 공백을 두지 마세요.
COUNTER32
| COUNTER64
32비트 프로브 카운터의 사용을 지정하고 COUNTER64
64비트 프로브 카운터를 지정하는 데 사용합니다COUNTER32
. 지정 /GENPROFILE
하면 기본값은 .입니다 COUNTER64
. 지정 /FASTGENPROFILE
하면 기본값은 .입니다 COUNTER32
.
EXACT
| NOEXACT
프로브에 대해 스레드로부터 안전한 연동 증분을 지정하는 데 사용합니다 EXACT
. NOEXACT
는 프로브에 대해 보호되지 않는 증분 작업을 지정합니다. 기본값은 NOEXACT
입니다.
MEMMAX
=value, MEMMIN
=value
MEMMIN
메모리의 학습 데이터에 대한 최대 및 최소 예약 크기를 사용하고 MEMMAX
지정합니다. 값은 예약할 메모리의 크기(바이트)입니다. 기본적으로 이러한 값은 내부 추론에 의해 결정됩니다.
PATH
| NOPATH
함수에 대한 각 고유 경로에 대해 별도의 PGO 카운터 집합을 지정하는 데 사용합니다 PATH
. 각 함수에 대해 하나의 카운터 집합만 지정하는 데 사용합니다 NOPATH
. 지정 /GENPROFILE
하면 기본값은 .입니다 PATH
. 지정 /FASTGENPROFILE
하면 기본값은 .입니다 NOPATH
.
TRACKEH
| NOTRACKEH
학습 중 예외가 throw되면 정확한 개수를 유지하기 위해 추가 카운터를 사용할지 여부를 지정합니다. 정확한 개수에 대한 추가 카운터를 지정하는 데 사용합니다 TRACKEH
. 예외 처리를 사용하지 않거나 학습 시나리오에서 예외가 발생하지 않는 코드에 대한 단일 카운터를 지정하는 데 사용합니다 NOTRACKEH
. 지정 /GENPROFILE
하면 기본값은 .입니다 TRACKEH
. 지정 /FASTGENPROFILE
하면 기본값은 .입니다 NOTRACKEH
.
PGD
=filename
파일의 기본 파일 이름을 지정합니다 .pgd
. 기본적으로 링커는 확장명에서 기본 실행 파일 이름을 .pgd
사용합니다.
설명
/GENPROFILE
및 /FASTGENPROFILE
옵션은 링커에게 PGO(프로필 기반 최적화)에 대한 애플리케이션 학습을 지원하는 데 필요한 프로파일링 계측 파일을 생성하도록 지시합니다. 이러한 옵션은 Visual Studio 2015의 새로운 기능입니다. 이러한 옵션은 사용되지 않는 /LTCG:PGINSTRUMENT
옵션 /PGD
및 옵션 및 /POGOSAFEMODE
, VCPROFILE_ALLOC_SCALE
및 VCPROFILE_PATH
환경 변수에 PogoSafeMode
선호합니다. 애플리케이션 학습에서 생성된 프로파일링 정보는 빌드 중에 대상 전체 프로그램 최적화에 대한 입력으로 사용됩니다. 앱 학습 및 빌드 중에 성능에 대한 다양한 프로파일링 기능을 제어하는 다른 옵션을 설정할 수도 있습니다. 지정된 /GENPROFILE
기본 옵션은 특히 크고 복잡한 다중 스레드 앱의 경우 가장 정확한 결과를 제공합니다. 이 /FASTGENPROFILE
옵션은 정확도를 희생하면서 학습하는 동안 메모리 사용 공간이 낮고 성능이 더 빨라지려면 다른 기본값을 사용합니다.
를 사용하여 /GENPROFILE
/FASTGENPROFILE
빌드한 후 계측된 앱을 실행할 때 프로파일링 정보가 캡처됩니다. 이 정보는 프로파일링 단계를 수행하는 링커 옵션을 지정 /USEPROFILE
한 다음 최적화된 빌드 단계를 안내하는 데 사용할 때 캡처됩니다. 앱 학습 방법 및 수집된 데이터에 대한 자세한 내용은 프로필 기반 최적화를 참조 하세요.
지정 /LTCG
/GENPROFILE
하거나 /FASTGENPROFILE
.
Visual Studio 개발 환경에서 이 링커 옵션을 설정하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.
구성 속성>링커>명령줄 속성 페이지를 선택합니다.
/GENPROFILE
추가 옵션 상자에 옵션/FASTGENPROFILE
및 인수를 입력합니다. 변경 내용을 저장하도록 선택합니다OK
.
프로그래밍 방식으로 이 링커 옵션을 설정하려면
- AdditionalOptions을(를) 참조하세요.