gc --- kendalikan garbage collector¶
Modul ini menyediakan antarmuka ke garbage collector heap: mengaktifkan atau menonaktifkan pengumpulan otomatis, memaksa pengumpulan segera, menanyakan jumlah memori heap yang dialokasikan dan bebas, serta menyesuaikan ambang batas alokasi yang memicu pengumpulan.
Fungsi¶
- gc.disable() None¶
Nonaktifkan garbage collection otomatis. Memori heap masih dapat dialokasikan, dan garbage collection masih dapat dimulai secara manual menggunakan
gc.collect().
- gc.mem_alloc() int¶
Kembalikan jumlah byte RAM heap yang dialokasikan oleh kode Python.
Perbedaan dengan CPython
Fungsi ini adalah ekstensi MicroPython.
- gc.mem_free() int¶
Kembalikan jumlah byte RAM heap yang tersedia untuk dialokasikan oleh kode Python, atau -1 jika jumlah ini tidak diketahui.
Perbedaan dengan CPython
Fungsi ini adalah ekstensi MicroPython.
- gc.threshold(amount: int | None = None) int | None¶
Setel atau tanyakan ambang batas alokasi GC tambahan. Biasanya, pengumpulan dipicu hanya ketika alokasi baru tidak dapat dipenuhi, yaitu pada kondisi kehabisan memori (OOM). Jika fungsi ini dipanggil, selain OOM, pengumpulan akan dipicu setiap kali setelah amount byte telah dialokasikan (secara total, sejak terakhir kali jumlah byte tersebut dialokasikan). amount biasanya ditentukan sebagai kurang dari ukuran heap penuh, dengan tujuan untuk memicu pengumpulan lebih awal sebelum heap habis, dan dengan harapan bahwa pengumpulan awal akan mencegah fragmentasi memori yang berlebihan. Ini adalah ukuran heuristik, yang efeknya akan bervariasi dari aplikasi ke aplikasi, begitu pula nilai optimal dari parameter amount.
Memanggil fungsi tanpa argumen akan mengembalikan nilai ambang batas saat ini. Nilai -1 berarti ambang batas alokasi dinonaktifkan.
Perbedaan dengan CPython
Fungsi ini adalah ekstensi MicroPython. CPython memiliki fungsi serupa -
set_threshold(), tetapi karena implementasi GC yang berbeda, tanda tangan dan semantiknya berbeda.