mind-bogglingly clever. Better to let GCC have a go, as it
tries much harder on register allocation, etc.</para>
- <para>At the moment, if you turn on <option>-O</option> you
- get GCC instead. This may change in the future.</para>
-
<para>So, when we want very fast code, we use: <option>-O
-fvia-C</option>.</para>
</listitem>
<option>-A<size></option><indexterm><primary>-A<size>
RTS option</primary></indexterm> RTS options (see <xref
linkend="rts-options-gc"/>).</para>
-
- <para>This is especially important if your program uses a
- lot of mutable arrays of pointers or mutable variables
- (i.e. <literal>STArray</literal>,
- <literal>IOArray</literal>, <literal>STRef</literal> and
- <literal>IORef</literal>, but not <literal>UArray</literal>,
- <literal>STUArray</literal> or <literal>IOUArray</literal>).
- GHC's garbage collector currently scans these objects on
- every collection, so your program won't benefit from
- generational GC in the normal way if you use lots of
- these. Increasing the heap size to reduce the number of
- collections will probably help.</para>
</listitem>
</varlistentry>
</variablelist>