gc --- التحكم في جامع المهملات¶
توفر هذه الوحدة واجهة لجامع مهملات الكومة (heap): تفعيل أو تعطيل الجمع التلقائي، وفرض جمع فوري، والاستعلام عن مقدار ذاكرة الكومة المخصصة والمتاحة، وضبط عتبة التخصيص التي تُطلق الجمع.
الدوال¶
- gc.disable() None¶
تعطيل جمع المهملات التلقائي. لا يزال بالإمكان تخصيص ذاكرة الكومة، ولا يزال بالإمكان بدء جمع المهملات يدوياً باستخدام
gc.collect().
- gc.mem_alloc() int¶
إرجاع عدد بايتات ذاكرة RAM الكومة المخصصة بواسطة كود Python.
الفرق عن CPython
هذه الدالة امتداد لـ MicroPython.
- gc.mem_free() int¶
إرجاع عدد بايتات ذاكرة RAM الكومة المتاحة لكود Python لتخصيصها، أو -1 إذا كان هذا المقدار غير معروف.
الفرق عن CPython
هذه الدالة امتداد لـ MicroPython.
- gc.threshold(amount: int | None = None) int | None¶
ضبط أو الاستعلام عن عتبة التخصيص الإضافية لـ GC. عادةً، يُطلق الجمع فقط عندما لا يمكن تلبية تخصيص جديد، أي عند حالة نفاد الذاكرة (OOM). إذا استُدعيت هذه الدالة، فبالإضافة إلى OOM، سيُطلق الجمع في كل مرة بعد تخصيص amount بايت (إجمالاً، منذ المرة السابقة التي خُصّص فيها هذا المقدار من البايتات). عادةً ما يُحدّد amount بقيمة أقل من حجم الكومة الكامل، بهدف إطلاق الجمع في وقت أبكر مما لو نفدت الكومة، وعلى أمل أن يمنع الجمع المبكر التجزئة المفرطة للذاكرة. هذا إجراء استدلالي، يختلف تأثيره من تطبيق إلى آخر، وكذلك القيمة المثلى للمعامل amount.
استدعاء الدالة بدون وسيطة سيُرجع القيمة الحالية للعتبة. القيمة -1 تعني عتبة تخصيص معطّلة.
الفرق عن CPython
هذه الدالة امتداد لـ MicroPython. لدى CPython دالة مشابهة -
set_threshold()، لكن بسبب اختلاف تطبيقات GC، فإن توقيعها ودلالاتها مختلفة.