versión color - PET: Python Entre Todos - Python Argentina
versión color - PET: Python Entre Todos - Python Argentina
versión color - PET: Python Entre Todos - Python Argentina
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
¿Cómo administra memoria <strong>Python</strong>? 79¿Cómo administra memoria <strong>Python</strong>?Antes de ver qué es esto de la fragmentación, debemos estudiar algunos detallesinternos de la administración de memoria en <strong>Python</strong>.¿Cómo dicen ustedes que administra la memoria <strong>Python</strong>? ¿Malloc? (una función en Cque reserva memoria para quienes no saben C)Pues no. <strong>Python</strong> tiene requerimientos inusuales y muy específicos, si utilizara mallocpara satisfacer todas sus necesidades de memoria sería muy ineficiente. <strong>Python</strong>utiliza, en cambio, una serie de técnicas y estrategias diseñadas para minimizar lasllamadas a malloc, llamadas que son muy lentas para usar en el núcleo de la máquinavirtual de <strong>Python</strong>.• Pools• Enteros• Flotantes• Listas libres• Tuplas• Listas• Frames (sí, los frames son objetos y hay que administrarlos también)• ArenasVeamos de qué se tratan uno por unoPoolsNo son piscinas.Son arreglos, vectores de objetos del mismo tipo, que <strong>Python</strong> utiliza comúnmentepara acelerar la creación y destrucción de objetos muy comunes, como lo son losenteros y los números de coma flotante.Cuando <strong>Python</strong> necesita un objeto de estos no crea uno, crea muchos (tantos comoentren en un bloque del pool), y mantiene una lista enlazada de qué objetos tienelibres dentro de cada bloque:{footer} — http://revista.python.org.ar