/Ox (Enable Most Speed Optimizations)

The /Ox compiler option enables a combination of optimizations that favor speed. In some versions of the Visual Studio IDE and the compiler help message, this is called full optimization, but the /Ox compiler option enables only a subset of the speed optimization options enabled by /O2.




The /Ox compiler option enables the /O compiler options that favor speed. The /Ox compiler option does not include the additional /GF (Eliminate Duplicate Strings) and /Gy (Enable Function-Level Linking) options enabled by /O1 or /O2 (Minimize Size, Maximize Speed). The additional options applied by /O1 and /O2 can cause pointers to strings or to functions to share a target address, which can affect debugging and strict language conformance. The /Ox option is an easy way to enable most optimizations without including /GF and /Gy. For more information, see the descriptions of the /GF and /Gy options.

The /Ox compiler option is the same as using the following options in combination:

/Ox is mutually exclusive from:

You can cancel the bias toward speed of the /Ox compiler option if you specify /Oxs, which combines the /Ox compiler option with /Os (Favor Small Code). The combined options favor smaller code size. The /Oxs option is exactly the same as specifying /Ox /Os when the options appear in that order.

To apply all available file-level optimizations for release builds, we recommend you specify /O2 (Maximize Speed) instead of /Ox, and /O1 (Minimize Size) instead of /Oxs. For even more optimization in release builds, also consider the /GL (Whole Program Optimization) compiler option and /LTCG (Link-time Code Generation) linker option.

To set this compiler option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see Working with Project Properties.

  2. Under Configuration Properties, open C/C++ and then choose the Optimization property page.

  3. Modify the Optimization property.

To set this compiler option programmatically

See Also

/O Options (Optimize Code)
Compiler Options
Setting Compiler Options