/POGOSAFEMODE (запуск PGO в безопасном режиме потоков)
Параметр /POGOSAFEMODE устарел, начиная с Visual Studio 2015. Вместо этого используйте параметры /GENPROFILE:EXACT и /GENPROFILE:NOEXACT. Параметр компоновщика /POGOSAFEMODE указывает, что инструментированная сборка создается для использования потоковобезопасного режима для отслеживания данных профиля во время выполнения обучения по профилированию.
Синтаксис
/POGOSAFEMODE
Замечания
Профильная оптимизация (PGO) имеет два возможных режима на этапе профилирования: быстрый режим и безопасный режим. При использовании профилирования в быстром режиме используется инструкция добавочного увеличения для увеличения счетчиков данных. Инструкция добавочного увеличения быстрее, но не является потокобезопасной. Если профилирование находится в безопасном режиме, он использует инструкцию по добавочному с блокировкой для увеличения счетчиков данных. Эта инструкция имеет ту же функциональность, что и инструкция добавочного, и является потокобезопасной, но она медленнее.
Параметр /POGOSAFEMODE задает инструментированную сборку для использования безопасного режима. Этот параметр можно использовать только при указании нерекомендуемого объекта /LTCG:PGINSTRUMENT во время этапа компоновщика инструментирования PGO.
По умолчанию профилирование с использованием профильной оптимизации работает в быстром режиме. /POGOSAFEMODE требуется только в том случае, если вы хотите использовать безопасный режим.
Чтобы запустить профилирование PGO в безопасном режиме, необходимо использовать либо /GENPROFILE:EXACT (предпочтительно), либо использовать переменную среды PogoSafeMode или переключатель компоновщика /POGOSAFEMODE в зависимости от системы. При выполнении профилирования на компьютере с архитектурой x64 необходимо использовать параметр компоновщика. Если вы выполняете профилирование на компьютере x86, вы можете использовать переключатель компоновщика или определить переменную среды для любого значения перед началом процесса инструментирования PGO.
Задание данного параметра компоновщика в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.
Выберите страницу свойств оптимизации компоновщика>конфигурации.>
В свойстве создания кода времени связи выберите "Руководство по оптимизации профиля" (/LTCG:PGInstrument).
Перейдите на страницу свойств Свойства конфигурации>Компоновщик>Командная строка.
Введите параметр /POGOSAFEMODE в поле "Дополнительные параметры". Нажмите ОК, чтобы сохранить внесенные изменения.
Задание данного параметра компоновщика программным способом
- См. раздел AdditionalOptions.
См. также
/GENPROFILE и /FASTGENPROFILE
/LTCG
Профильная оптимизация
Переменные среды для профильной оптимизации