Intel® compilers allow you to compile applications for processors based on IA-32 architectures (32-bit applications), Intel® 64 architectures (32-bit and 64-bit applications), or IA-64 architectures (64-bit applications).
By default the compiler chooses a set of optimizations that balances compile-time and run-time performance for your application. Also you can manually select optimizations based on the specific needs of the application.
The following table summarizes the common compiler-supported optimization options you can use for quick, effective results.
Linux* and Mac OS* X |
Windows* |
Description |
---|---|---|
-O3 |
/O3 |
Enables aggressive optimization for code speed. Recommended for code with loops that perform calculations or process large data sets. |
-O2 (or -O) |
/O2 |
Affects code speed. This is the default option; the compiler uses this optimization level if you do not specify anything. |
-O1 |
/O1 |
Affects code size and locality. Disables specific optimizations. |
-fast |
/fast |
Enables a collection of common, recommended optimizations for run-time performance. Can introduce architecture dependency. |
-O0 |
/Od |
Disables optimization. Use this for rapid compilation while debugging an application. |
The variety of automatic optimizations provide in the Intel compiler enable you to quickly enhance your application performance. In addition to automatic optimizations, the compiler invokes other optimization enabled with source code directives, optimized library routines, and performance-enhancing utilities.
The remaining topics in this section provide more details on the automatic optimizations supported in the Intel compilers. See Enabling Automatic Optimizations and Restricting Optimizations for more information.