</screen>
<para>RTS options taken from the <envar>GHCRTS</envar> environment
- variable can be overriden by options given on the command
+ variable can be overridden by options given on the command
line.</para>
</sect2>
<varlistentry>
<term>
+ <option>-I</option><replaceable>seconds</replaceable>
+ <indexterm><primary><option>-H</option></primary>
+ <secondary>RTS option</secondary>
+ </indexterm>
+ <indexterm><primary>idle GC</primary>
+ </indexterm>
+ </term>
+ <listitem>
+ <para>(default: 0.3) In the threaded and SMP versions of the RTS (see
+ <option>-threaded</option>, <xref linkend="options-linker" />), a
+ major GC is automatically performed if the runtime has been idle
+ (no Haskell computation has been running) for a period of time.
+ The amount of idle time which must pass before a GC is performed is
+ set by the <option>-I</option><replaceable>seconds</replaceable>
+ option. Specifying <option>-I0</option> disables the idle GC.</para>
+
+ <para>For an interactive application, it is probably a good idea to
+ use the idle GC, because this will allow finalizers to run and
+ deadlocked threads to be detected in the idle time when no Haskell
+ computation is happening. Also, it will mean that a GC is less
+ likely to happen when the application is busy, and so
+ responsiveness may be improved. However, if the amount of live data in
+ the heap is particularly large, then the idle GC can cause a
+ significant delay, and too small an interval could adversely affect
+ interactive responsiveness.</para>
+
+ <para>This is an experimental feature, please let us know if it
+ causes problems and/or could benefit from further tuning.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
<option>-k</option><replaceable>size</replaceable>
<indexterm><primary><option>-k</option></primary><secondary>RTS option</secondary></indexterm>
<indexterm><primary>stack, minimum size</primary></indexterm>
<varlistentry>
<term>
- <option>-t</option>
+ <option>-t<replaceable>file</replaceable></option>
<indexterm><primary><option>-t</option></primary><secondary>RTS option</secondary></indexterm>
</term>
<listitem>
<para>Write a one-line GC stats summary after running the
program. This output is in the same format as that produced
by the <option>-Rghc-timing</option> option.</para>
+
+ <para>As with <option>-s</option>, the default
+ <replaceable>file</replaceable> is
+ <filename><replaceable>program</replaceable>.stat</filename>. The
+ <replaceable>file</replaceable> <constant>stderr</constant>
+ is treated specially, with the output really being sent to
+ <constant>stderr</constant>.</para>
</listitem>
</varlistentry>
</variablelist>