gc — controlul colectorului de gunoi

Acest modul oferă o interfață către colectorul de gunoi al heap-ului: activarea sau dezactivarea colectării automate, forțarea unei colectări imediate, interogarea cantității de memorie heap alocată și liberă și ajustarea pragului de alocare care declanșează colectarea.

Funcții

gc.enable() None

Activează colectarea automată a gunoiului.

gc.disable() None

Dezactivează colectarea automată a gunoiului. Memoria heap poate fi în continuare alocată, iar colectarea gunoiului poate fi în continuare inițiată manual folosind gc.collect().

gc.collect() None

Rulează o colectare a gunoiului.

gc.mem_alloc() int

Returnează numărul de octeți de RAM heap care sunt alocați de codul Python.

Diferență față de CPython

Această funcție este o extensie MicroPython.

gc.mem_free() int

Returnează numărul de octeți de RAM heap disponibili pentru a fi alocați de codul Python, sau -1 dacă această cantitate nu este cunoscută.

Diferență față de CPython

Această funcție este o extensie MicroPython.

gc.threshold(amount: int | None = None) int | None

Setează sau interoghează pragul suplimentar de alocare GC. În mod normal, o colectare este declanșată doar atunci când o nouă alocare nu poate fi satisfăcută, adică la o condiție de memorie insuficientă (OOM). Dacă această funcție este apelată, pe lângă OOM, o colectare va fi declanșată de fiecare dată după ce au fost alocați amount octeți (în total, de la ultima dată când o astfel de cantitate de octeți a fost alocată). amount este de obicei specificat ca fiind mai mic decât dimensiunea totală a heap-ului, cu intenția de a declanșa o colectare mai devreme decât atunci când heap-ul se epuizează, și în speranța că o colectare timpurie va preveni fragmentarea excesivă a memoriei. Aceasta este o măsură euristică, al cărei efect va varia de la aplicație la aplicație, la fel ca și valoarea optimă a parametrului amount.

Apelarea funcției fără argument va returna valoarea curentă a pragului. O valoare de -1 înseamnă un prag de alocare dezactivat.

Diferență față de CPython

Această funcție este o extensie MicroPython. CPython are o funcție similară - set_threshold(), dar din cauza implementărilor GC diferite, semnătura și semantica acesteia sunt diferite.