Модули и функции · встроенный MicroPython FEMM 5
gc
Контроль памяти и сборщика мусора MicroPython.
Условия работы
- Измерения mem_alloc/mem_free относятся к куче интерпретатора, а не к общей памяти FEMM, сетке или решателю.
- Длительное disable запрещает автоматическое освобождение недостижимых объектов; оставляйте сборщик включённым.
gc.collectgc.mem_allocgc.mem_freegc.isenabledgc.enablegc.disablegc.thresholdgc.collectСобирает недостижимые объекты перед измерением памяти.
gc.collect
collect()Собирает недостижимые объекты перед измерением памяти.
Аргументы
Аргументы не требуются.
Возвращаемое значение
None.
Пример
"Пример gc.collect.\nСреда: встроенный MicroPython FEMM 5.\nСобирает недостижимые объекты перед измерением памяти.\nРезультат: None."
import gc
gc.collect()
assert gc.mem_alloc() >= 0
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
gc.mem_allocОценивает память Python-объектов серии.
gc.mem_alloc
mem_alloc()Оценивает память Python-объектов серии.
Аргументы
Аргументы не требуются.
Возвращаемое значение
Целое число занятых байтов кучи.
Пример
"Пример gc.mem_alloc.\nСреда: встроенный MicroPython FEMM 5.\nОценивает память Python-объектов серии.\nРезультат: Целое число занятых байтов кучи."
import gc
assert isinstance(gc.mem_alloc(),int) and gc.mem_alloc() >= 0
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
gc.mem_freeПоказывает остаток кучи MicroPython.
gc.mem_free
mem_free()Показывает остаток кучи MicroPython.
Аргументы
Аргументы не требуются.
Возвращаемое значение
Целое число свободных байтов кучи.
Пример
"Пример gc.mem_free.\nСреда: встроенный MicroPython FEMM 5.\nПоказывает остаток кучи MicroPython.\nРезультат: Целое число свободных байтов кучи."
import gc
assert isinstance(gc.mem_free(),int) and gc.mem_free() >= 0
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
gc.isenabledЧитает состояние автоматического сборщика.
gc.isenabled
isenabled()Читает состояние автоматического сборщика.
Аргументы
Аргументы не требуются.
Возвращаемое значение
bool.
Пример
"Пример gc.isenabled.\nСреда: встроенный MicroPython FEMM 5.\nЧитает состояние автоматического сборщика.\nРезультат: bool."
import gc
assert isinstance(gc.isenabled(),bool)
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
gc.enableВключает автоматический сборщик.
gc.enable
enable()Включает автоматический сборщик.
Аргументы
Аргументы не требуются.
Возвращаемое значение
None.
Пример
"Пример gc.enable.\nСреда: встроенный MicroPython FEMM 5.\nВключает автоматический сборщик.\nРезультат: None."
import gc
gc.enable()
assert gc.isenabled()
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
gc.disableОтключает автоматический сборщик до enable.
gc.disable
disable()Отключает автоматический сборщик до enable.
Аргументы
Аргументы не требуются.
Возвращаемое значение
None.
Пример
"Пример gc.disable.\nСреда: встроенный MicroPython FEMM 5.\nОтключает автоматический сборщик до enable.\nРезультат: None."
import gc
was=gc.isenabled()
try:
gc.disable()
assert not gc.isenabled()
finally:
if was:
gc.enable()
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
gc.thresholdПозволяет инициировать сборки до полного исчерпания кучи.
gc.threshold
threshold([amount])Позволяет инициировать сборки до полного исчерпания кучи.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
amount | Порог выделенных байтов до дополнительной сборки; -1 отключает порог; отсутствие аргумента читает его. |
Возвращаемое значение
Текущий порог при чтении; None при установке.
Пример
"Пример gc.threshold.\nСреда: встроенный MicroPython FEMM 5.\nПозволяет инициировать сборки до полного исчерпания кучи.\nРезультат: Текущий порог при чтении; None при установке."
import gc
old=gc.threshold()
assert isinstance(old,int)
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.