Поделиться через


/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 также переменным среды, а также PogoSafeModeVCPROFILE_ALLOC_SCALEVCPROFILE_PATH переменным среды. Сведения о профилировании, создаваемые обучением приложений, используются в качестве входных данных для целевых оптимизаций всей программы во время сборки. Вы также можете задать другие параметры для управления различными функциями профилирования для повышения производительности во время обучения и сборки приложений. Параметры по умолчанию, указанные с помощью /GENPROFILE наиболее точных результатов, особенно для крупных многопоточных приложений. Этот /FASTGENPROFILE параметр использует различные значения по умолчанию для снижения объема памяти и повышения производительности во время обучения за счет точности.

Данные профилирования записываются при запуске инструментированного приложения после сборки с помощью /GENPROFILE /FASTGENPROFILE. Эта информация фиксируется при указании /USEPROFILE параметра компоновщика для выполнения шага профилирования, а затем используется для руководства по оптимизированной сборке. Дополнительные сведения о том, как обучить приложение и сведения о собранных данных, см. в статье оптимизации с помощью профилей.

Всегда указывать /LTCG при указании /GENPROFILE или /FASTGENPROFILE.

Задание данного параметра компоновщика в среде разработки Visual Studio

  1. Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.

  2. Перейдите на страницу свойств Свойства конфигурации>Компоновщик>Командная строка.

  3. Введите или /FASTGENPROFILE параметры /GENPROFILE и аргументы в поле "Дополнительные параметры". Выберите OK , чтобы сохранить изменения.

Задание данного параметра компоновщика программным способом

См. также

Справочник по компоновщику MSVC
Параметры компоновщика MSVC
/LTCG (Создание кода во время ссылки)