gc — çöp toplayıcıyı denetler

Bu modül, yığın çöp toplayıcısına bir arayüz sağlar: otomatik toplamayı etkinleştirme veya devre dışı bırakma, anında bir toplamaya zorlama, tahsis edilmiş ve boş yığın belleği miktarını sorgulama ve toplamayı tetikleyen tahsis eşiğini ayarlama.

Fonksiyonlar

gc.enable() None

Otomatik çöp toplamayı etkinleştirir.

gc.disable() None

Otomatik çöp toplamayı devre dışı bırakır. Yığın belleği hâlâ tahsis edilebilir ve çöp toplama hâlâ gc.collect() kullanılarak manuel olarak başlatılabilir.

gc.collect() None

Bir çöp toplama çalıştırır.

gc.mem_alloc() int

Python kodu tarafından tahsis edilmiş yığın RAM’inin bayt sayısını döndürür.

CPython’dan farkı

Bu fonksiyon bir MicroPython uzantısıdır.

gc.mem_free() int

Python kodunun tahsis etmesi için kullanılabilir olan yığın RAM’inin bayt sayısını döndürür veya bu miktar bilinmiyorsa -1 döndürür.

CPython’dan farkı

Bu fonksiyon bir MicroPython uzantısıdır.

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

Ek GC tahsis eşiğini ayarlar veya sorgular. Normalde, bir toplama yalnızca yeni bir tahsis karşılanamadığında, yani bir bellek yetersizliği (OOM) durumunda tetiklenir. Bu fonksiyon çağrılırsa, OOM’a ek olarak, her amount bayt tahsis edildikten sonra (toplamda, böyle bir miktar bayt en son tahsis edildiğinden bu yana) bir toplama tetiklenir. amount genellikle tam yığın boyutundan daha az olarak belirtilir; amaç, yığın tükenmeden önce bir toplamayı daha erken tetiklemek ve erken bir toplamanın aşırı bellek parçalanmasını önleyeceği umuduyladır. Bu sezgisel bir önlemdir, etkisi uygulamadan uygulamaya değişeceği gibi amount parametresinin optimal değeri de değişir.

Fonksiyonu argümansız çağırmak eşiğin geçerli değerini döndürür. -1 değeri, devre dışı bırakılmış bir tahsis eşiği anlamına gelir.

CPython’dan farkı

Bu fonksiyon bir MicroPython uzantısıdır. CPython’da benzer bir fonksiyon vardır - set_threshold(), ancak farklı GC uygulamaları nedeniyle imzası ve semantiği farklıdır.