son que pilas pila parentesis lineales implementacion engine datos colas cola codigo balanceo algoritmo python memory-management

python - que - pilas y colas



CPython: internamente, ¿qué se almacena en la pila y en el montón? (2)

En C #, los Tipos de valores (por ejemplo: int, float, etc.) se almacenan en la pila. Los parámetros del método también se pueden almacenar en la pila también. La mayoría de todo lo demás, sin embargo, se almacena en el montón. Esto incluye listas, objetos, etc.

Me preguntaba, ¿CPython hace lo mismo internamente? ¿Qué almacena en la pila y qué pone en el montón?


El tiempo de ejecución de Python solo trata de referencias a objetos (que todos viven en el montón): lo que sucede en la pila de Python (como operandos y resultados de sus operaciones de bytecode) siempre son referencias (a valores que viven en otro lugar).


Todos los objetos de Python en la implementación de CPython van en el montón. Puede leer en detalle cómo funciona la administración de memoria de Python aquí en la documentación:

La gestión de memoria en Python implica un montón privado que contiene todos los objetos y estructuras de datos de Python. La administración de este montón privado está asegurada internamente por el administrador de memoria de Python. El administrador de memoria de Python tiene diferentes componentes que se ocupan de varios aspectos de administración de almacenamiento dinámico, como compartir, segmentar, preasignar o almacenar en caché.

Tenga en cuenta que Python en sí mismo es solo un lenguaje, y no dice nada sobre cómo deberían funcionar las funciones internas, como la administración de memoria; este es un detalle que queda para los implementadores.