Gestión de memoria en CPython
- CPython, la implementación por defecto de Python, está escrita en C y gestiona la memoria mediante un asignador de objetos.
- Cada objeto en Python tiene un contador de referencias (ob_refcnt) y un puntero a su tipo (ob_type).
- El recolector de basura libera memoria cuando el contador de referencias de un objeto llega a cero.
- La memoria se organiza en arenas (1 MiB en 64 bits), pools (16 KiB) y bloques de tamaño fijo según la clase de tamaño.
- Los pools pueden estar en estado usado, lleno o vacío, y se gestionan mediante listas linked lists para optimizar la asignación.
cpython · programacion · garbage collection · memoria · python