gc — roskienkerääjän hallinta¶
Tämä moduuli tarjoaa rajapinnan kekomuistin roskienkerääjään: automaattisen keräyksen käyttöönotto tai poistaminen käytöstä, välittömän keräyksen pakottaminen, varatun ja vapaan kekomuistin määrän kysely sekä keräyksen laukaisevan allokointikynnyksen säätö.
Funktiot¶
- gc.disable() None¶
Poistaa automaattisen roskienkeräyksen käytöstä. Kekomuistia voi edelleen varata, ja roskienkeräyksen voi edelleen käynnistää manuaalisesti käyttämällä
gc.collect()-metodia.
- gc.mem_alloc() int¶
Palauttaa Python-koodin varaaman kekomuistin (RAM) tavumäärän.
Ero CPythoniin
Tämä funktio on MicroPython-laajennus.
- gc.mem_free() int¶
Palauttaa Python-koodin varattavissa olevan kekomuistin (RAM) tavumäärän, tai -1 jos tämä määrä ei ole tiedossa.
Ero CPythoniin
Tämä funktio on MicroPython-laajennus.
- gc.threshold(amount: int | None = None) int | None¶
Asettaa tai kysyy ylimääräisen GC-allokointikynnyksen. Normaalisti keräys laukaistaan vain, kun uutta varausta ei voida täyttää, eli muistin loppumistilanteessa (OOM). Jos tätä funktiota kutsutaan, OOM:n lisäksi keräys laukaistaan joka kerta sen jälkeen, kun amount tavua on varattu (yhteensä, edellisestä kerrasta jolloin tällainen tavumäärä on varattu). amount määritetään yleensä pienemmäksi kuin koko keon koko, tarkoituksena laukaista keräys aikaisemmin kuin keon ehtyessä, ja toiveena että aikainen keräys estää liiallisen muistin pirstoutumisen. Tämä on heuristinen toimenpide, jonka vaikutus vaihtelee sovelluksesta toiseen, samoin kuin amount -parametrin optimaalinen arvo.
Funktion kutsuminen ilman argumenttia palauttaa kynnyksen nykyisen arvon. Arvo -1 tarkoittaa poistettua allokointikynnystä.
Ero CPythoniin
Tämä funktio on MicroPython-laajennus. CPythonissa on samankaltainen funktio -
set_threshold(), mutta erilaisten GC-toteutusten vuoksi sen allekirjoitus ja semantiikka ovat erilaiset.