You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.2 KiB
67 lines
2.2 KiB
4 years ago
|
:mod:`gc` -- control the garbage collector
|
||
|
==========================================
|
||
|
|
||
|
.. module:: gc
|
||
|
:synopsis: control the garbage collector
|
||
|
|
||
|
|see_cpython_module| :mod:`python:gc`.
|
||
|
|
||
|
Functions
|
||
|
---------
|
||
|
|
||
|
.. function:: enable()
|
||
|
|
||
|
Enable automatic garbage collection.
|
||
|
|
||
|
.. function:: disable()
|
||
|
|
||
|
Disable automatic garbage collection. Heap memory can still be allocated,
|
||
|
and garbage collection can still be initiated manually using :meth:`gc.collect`.
|
||
|
|
||
|
.. function:: collect()
|
||
|
|
||
|
Run a garbage collection.
|
||
|
|
||
|
.. function:: mem_alloc()
|
||
|
|
||
|
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, 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.
|