==============
translation.gc
==============

* **name:** gc

* **description:** Garbage Collection Strategy

* **command-line:** --gc

* **option type:** choice option

* **possible values:**

  + boehm

  + ref

  + semispace

  + statistics

  + generation

  + hybrid

  + minimark

  + incminimark

  + none

* **default:** ref

* **requirements:**

  + value 'boehm' requires\:

    - `translation.continuation`_ to be set to 'False'

    - `translation.gctransformer`_ to be set to 'boehm'

  + value 'ref' requires\:

    - `translation.rweakref`_ to be set to 'False'

    - `translation.gctransformer`_ to be set to 'ref'

  + value 'semispace' requires\:

    - `translation.gctransformer`_ to be set to 'framework'

  + value 'statistics' requires\:

    - `translation.gctransformer`_ to be set to 'framework'

  + value 'generation' requires\:

    - `translation.gctransformer`_ to be set to 'framework'

  + value 'hybrid' requires\:

    - `translation.gctransformer`_ to be set to 'framework'

  + value 'minimark' requires\:

    - `translation.gctransformer`_ to be set to 'framework'

  + value 'incminimark' requires\:

    - `translation.gctransformer`_ to be set to 'framework'

  + value 'none' requires\:

    - `translation.rweakref`_ to be set to 'False'

    - `translation.gctransformer`_ to be set to 'none'

.. _translation.rweakref: translation.rweakref.html
.. _translation.continuation: translation.continuation.html
.. _translation.gctransformer: translation.gctransformer.html





Choose the Garbage Collector used by the translated program.
The good performing collectors are "hybrid" and "minimark".
The default is "minimark".

  - "ref": reference counting. Takes very long to translate and the result is
    slow.

  - "marksweep": naive mark & sweep.

  - "semispace": a copying semi-space GC.

  - "generation": a generational GC using the semi-space GC for the
    older generation.

  - "boehm": use the Boehm conservative GC.

  - "hybrid": a hybrid collector of "generation" together with a
    mark-n-sweep old space

  - "markcompact": a slow, but memory-efficient collector,
    influenced e.g. by Smalltalk systems.

  - "minimark": a generational mark-n-sweep collector with good
    performance.  Includes page marking for large arrays.
