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.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.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.