mirror of
https://github.com/m5stack/M5Stack_MicroPython.git
synced 2026-05-20 10:14:44 -07:00
'Ctrl+D' on empty line now performs full ESP32 soft reset 'math' module updated, added 'factorial' method 'uos' module updated, added 'mpycore' method to show MicroPython core git commit hash and date
67 lines
2.2 KiB
ReStructuredText
67 lines
2.2 KiB
ReStructuredText
: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.
|