/GENPROFILE
, /FASTGENPROFILE
(Создание инструментированного построения профилирования)
Указывает создание .pgd
файла компоновщиком для поддержки оптимизации с помощью профилей (PGO). /GENPROFILE
используйте /FASTGENPROFILE
разные параметры по умолчанию. Используйте /GENPROFILE
для повышения точности по скорости и использованию памяти во время профилирования. Используйте для /FASTGENPROFILE
повышения скорости использования памяти и скорости по сравнению с точностью.
Синтаксис
/GENPROFILE
[:
profile-argument
[,
profile-argument
...]]
/FASTGENPROFILE
[:
profile-argument
[,
profile-argument
...]]\
profile-argument
{ }COUNTER32
|COUNTER64
{ }EXACT
|NOEXACT
MEMMAX=
значение
MEMMIN=
значение
{ }PATH
|NOPATH
{ }TRACKEH
|NOTRACKEH
PGD=
filename
Аргументы
Любой из profile-argument
аргументов может быть указан в /GENPROFILE
или /FASTGENPROFILE
. Аргументы, перечисленные здесь, разделенные символом канала (|
) являются взаимоисключающими. Используйте символ запятой (,
) для разделения аргументов. Не помещайте пробелы между аргументами, запятыми или после двоеточия (:
).
COUNTER32
| COUNTER64
Используется COUNTER32
для указания использования 32-разрядных счетчиков пробы и COUNTER64
указания 64-разрядных счетчиков проб. При указании /GENPROFILE
используется COUNTER64
значение по умолчанию. При указании /FASTGENPROFILE
используется COUNTER32
значение по умолчанию.
EXACT
| NOEXACT
Используется EXACT
для указания потоковобезопасных добавок для проб. NOEXACT
указывает незащищенные операции добавочного увеличения для проб. Значение по умолчанию — NOEXACT
.
MEMMAX
=значение, MEMMIN
=значение
Используйте MEMMAX
и MEMMIN
укажите максимальный и минимальный размер резервирования для обучающих данных в памяти. Значение представляет резервируемый объем памяти в байтах. По умолчанию эти значения определяются внутренней эвристикой.
PATH
| NOPATH
Используется PATH
для указания отдельного набора счетчиков PGO для каждого уникального пути к функции. Используется NOPATH
для указания только одного набора счетчиков для каждой функции. При указании /GENPROFILE
используется PATH
значение по умолчанию. При указании /FASTGENPROFILE
используется NOPATH
значение по умолчанию.
TRACKEH
| NOTRACKEH
Указывает, следует ли использовать дополнительные счетчики для ведения точного подсчета возникновения исключений во время обучения. Используется TRACKEH
для указания дополнительных счетчиков для точного количества. Используется NOTRACKEH
для указания отдельных счетчиков для кода, который не использует обработку исключений или не выполняется в исключениях в сценариях обучения. При указании /GENPROFILE
используется TRACKEH
значение по умолчанию. При указании /FASTGENPROFILE
используется NOTRACKEH
значение по умолчанию.
PGD
=filename
Указывает базовое имя .pgd
файла. По умолчанию компоновщик использует имя файла базового исполняемого образа с расширением .pgd
.
Замечания
/FASTGENPROFILE
Параметры /GENPROFILE
позволяют компоновщику создать файл инструментирования профилирования, необходимый для поддержки обучения приложений для оптимизации с помощью профилей (PGO). Эти параметры новые в Visual Studio 2015. Предпочитайте эти параметры устаревшим /LTCG:PGINSTRUMENT
и /PGD
параметрам, а /POGOSAFEMODE
также переменным среды, а также PogoSafeMode
VCPROFILE_ALLOC_SCALE
VCPROFILE_PATH
переменным среды. Сведения о профилировании, создаваемые обучением приложений, используются в качестве входных данных для целевых оптимизаций всей программы во время сборки. Вы также можете задать другие параметры для управления различными функциями профилирования для повышения производительности во время обучения и сборки приложений. Параметры по умолчанию, указанные с помощью /GENPROFILE
наиболее точных результатов, особенно для крупных многопоточных приложений. Этот /FASTGENPROFILE
параметр использует различные значения по умолчанию для снижения объема памяти и повышения производительности во время обучения за счет точности.
Данные профилирования записываются при запуске инструментированного приложения после сборки с помощью /GENPROFILE
/FASTGENPROFILE
. Эта информация фиксируется при указании /USEPROFILE
параметра компоновщика для выполнения шага профилирования, а затем используется для руководства по оптимизированной сборке. Дополнительные сведения о том, как обучить приложение и сведения о собранных данных, см. в статье оптимизации с помощью профилей.
Всегда указывать /LTCG
при указании /GENPROFILE
или /FASTGENPROFILE
.
Задание данного параметра компоновщика в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.
Перейдите на страницу свойств Свойства конфигурации>Компоновщик>Командная строка.
Введите или
/FASTGENPROFILE
параметры/GENPROFILE
и аргументы в поле "Дополнительные параметры". ВыберитеOK
, чтобы сохранить изменения.
Задание данного параметра компоновщика программным способом
- См. раздел AdditionalOptions.
См. также
Справочник по компоновщику MSVC
Параметры компоновщика MSVC
/LTCG
(Создание кода во время ссылки)