* Document Boehm GC support.
This commit is contained in:
parent
3d71c8013e
commit
26def5392f
4 changed files with 40 additions and 1 deletions
|
@ -271,6 +271,17 @@ $ mount -o bind /mnt/otherdisk/nix /nix</screen>
|
||||||
|
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
|
||||||
|
<varlistentry><term><envar>GC_INITIAL_HEAP_SIZE</envar></term>
|
||||||
|
|
||||||
|
<listitem><para>If Nix has been configured to use the Boehm garbage
|
||||||
|
collector, this variable sets the initial size of the heap in bytes.
|
||||||
|
It defaults to 384 MiB. Setting it to a low value reduces memory
|
||||||
|
consumption, but will increase runtime due to the overhead of
|
||||||
|
garbage collection.</para></listitem>
|
||||||
|
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
|
|
|
@ -105,6 +105,13 @@ this packages. Alternatively, if you already have it installed, you
|
||||||
can use <command>configure</command>'s <option>--with-bzip2</option>
|
can use <command>configure</command>'s <option>--with-bzip2</option>
|
||||||
options to point to their respective locations.</para>
|
options to point to their respective locations.</para>
|
||||||
|
|
||||||
|
<para>Nix can optionally use the <link
|
||||||
|
xlink:href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/">Boehm
|
||||||
|
garbage collector</link> to reduce the evaluator’s memory consumption.
|
||||||
|
To enable it, install <literal>pkgconfig</literal> and the Boehm
|
||||||
|
garbage collector, and pass the flag <option>--enable-gc</option> to
|
||||||
|
<command>configure</command>.</para>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,27 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--==================================================================-->
|
||||||
|
|
||||||
|
<section xml:id="ssec-relnotes-1.0"><title>Release 1.0 (TBA)</title>
|
||||||
|
|
||||||
|
<para>This release has the following improvements:</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Nix can now optionally use the Boehm garbage collector.
|
||||||
|
This significantly reduces the Nix evaluator’s memory footprint,
|
||||||
|
especially when evaluating large NixOS system configurations. It
|
||||||
|
can be enabled using the <option>--enable-gc</option> configure
|
||||||
|
option.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
<!--==================================================================-->
|
<!--==================================================================-->
|
||||||
|
|
||||||
<section xml:id="ssec-relnotes-0.16"><title>Release 0.16 (August 17, 2010)</title>
|
<section xml:id="ssec-relnotes-0.16"><title>Release 0.16 (August 17, 2010)</title>
|
||||||
|
|
|
@ -364,7 +364,7 @@ int main(int argc, char * * argv)
|
||||||
allocated. This might be a problem on systems that don't
|
allocated. This might be a problem on systems that don't
|
||||||
overcommit. */
|
overcommit. */
|
||||||
if (!getenv("GC_INITIAL_HEAP_SIZE"))
|
if (!getenv("GC_INITIAL_HEAP_SIZE"))
|
||||||
GC_expand_hp(384000000);
|
GC_expand_hp(384 * 1024 * 1024);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Reference in a new issue