Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Seven distinct levels:</p> <ul> <li><p><code>-O0</code> (default): No optimization.</p></li> <li><p><code>-O</code> or <code>-O1</code> (same thing): Optimize, but do not spend too much time.</p></li> <li><p><code>-O2</code>: Optimize more aggressively</p></li> <li><p><code>-O3</code>: Optimize most aggressively </p></li> <li><p><code>-Ofast</code>: Equivalent to <code>-O3 -ffast-math</code>. <code>-ffast-math</code> triggers non-standards-compliant floating point optimizations. This allows the compiler to pretend that floating point numbers are infinitely precise, and that algebra on them follows the standard rules of real number algebra. It also tells the compiler to tell the hardware to flush denormals to zero and treat denormals as zero, at least on some processors, including x86 and x86-64. Denormals trigger a slow path on many FPUs, and so treating them as zero (which does not trigger the slow path) can be a big performance win. </p></li> <li><p><code>-Os</code>: Optimize for code size. This can actually improve speed in some cases, due to better I-cache behavior.</p></li> <li><p><code>-Og</code>: Optimize, but do not interfere with debugging. This enables non-embarrassing performance for debug builds and is intended to replace <code>-O0</code> for debug builds. </p></li> </ul> <p>There are also other options that are not enabled by any of these, and must be enabled separately. It is also possible to use an optimization option, but disable specific flags enabled by this optimization.</p> <p>For more information, see GCC website.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload