summaryrefslogtreecommitdiffstatshomepage
path: root/docs/library/gc.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/library/gc.rst')
-rw-r--r--docs/library/gc.rst39
1 files changed, 38 insertions, 1 deletions
diff --git a/docs/library/gc.rst b/docs/library/gc.rst
index 01e63ae51e..c823aed3e6 100644
--- a/docs/library/gc.rst
+++ b/docs/library/gc.rst
@@ -4,6 +4,8 @@
.. module:: gc
:synopsis: control the garbage collector
+|see_cpython_module| :mod:`python:gc`.
+
Functions
---------
@@ -24,6 +26,41 @@ Functions
Return the number of bytes of heap RAM that are allocated.
+ .. admonition:: Difference to CPython
+ :class: attention
+
+ This function is MicroPython extension.
+
.. function:: mem_free()
- Return the number of bytes of available heap RAM.
+ Return the number of bytes of available heap RAM, or -1 if this amount
+ is not known.
+
+ .. admonition:: Difference to CPython
+ :class: attention
+
+ This function is MicroPython extension.
+
+.. function:: threshold([amount])
+
+ Set or query the additional GC allocation threshold. Normally, a collection
+ is triggered only when a new allocation cannot be satisfied, i.e. on an
+ out-of-memory (OOM) condition. If this function is called, in addition to
+ OOM, a collection will be triggered each time after *amount* bytes have been
+ allocated (in total, since the previous time such an amount of bytes
+ have been allocated). *amount* is usually specified as less than the
+ full heap size, with the intention to trigger a collection earlier than when the
+ heap becomes exhausted, and in the hope that an early collection will prevent
+ excessive memory fragmentation. This is a heuristic measure, the effect
+ of which will vary from application to application, as well as
+ the optimal value of the *amount* parameter.
+
+ Calling the function without argument will return the current value of
+ the threshold. A value of -1 means a disabled allocation threshold.
+
+ .. admonition:: Difference to CPython
+ :class: attention
+
+ This function is a MicroPython extension. CPython has a similar
+ function - ``set_threshold()``, but due to different GC
+ implementations, its signature and semantics are different.