Share via


PogoSafeMode

Specify whether to use fast mode or safe mode for application profiling.

PogoSafeMode

Remarks

Profile-guided optimization (PGO) has two possible modes during the profiling phase: fast mode and safe mode. When profiling is in fast mode, it uses the INC instruction to increase data counters. The INC instruction is faster but is not thread-safe. When profiling is in safe mode, it uses the LOCK INC instruction to increase data counters. The LOCK INC instruction has the same functionality as the INC instruction has, and is thread-safe, but it is slower than the INC instruction.

By default, PGO profiling operates in fast mode. PogoSafeMode is only required if you want to use safe mode.

To run PGO profiling in safe mode, you must either use the environment variable PogoSafeMode or the compiler switch -PogoSafeMode, depending on the system. If you are performing the profiling on an x64 computer, you must use the compiler switch. If you are performing the profiling on an x86 computer, you must define the environment variable to any value before you start the optimization process.

Example

set PogoSafeMode=1

See Also

Reference

Environment Variables for Profile-Guided Optimizations

Profile-Guided Optimizations