Uno de los motivos por los que programar en Python es cómodo y sencillo es que no tenemos que preocuparnos por el tiempo de vida de nuestros objetos. Es decir, una vez que deja de ser necesaria, una variable desaparece de la memoria “magicamente”. Esto puede —erróneamente— llevarnos a creer que no es necesario preocuparnos por lo que ocurre entre bastidores.
Nada más alejado de la realidad: conocer cómo Python gestiona la memoria es fundamental en ciertos escenarios, y desconocer qué está ocurriendo puede tener consecuencias tan importantes como desagradables. Por ejemplo, si nuestros programas gestionan una gran cantidad de datos al mismo tiempo o lanzan múltiples processos en paralelo esto deja de ser una cuestión teórica y convierte en algo que a nosotros, mentes pragmáticas, también nos importa.
Python utiliza para manejar la memoria una estrategia combinada consistente en dos intimidantes términos: (1) conteo de referencias y (2) colector de basura generacional. Entender cómo ambos sistemas trabajan juntos y cuáles son las limitaciones de cada uno nos ayudará a entender aspectos específicos de nuestra programación del día a día. Ejemplos: (a) qué ocurre con la memoria exactamente cuando hay multiples hilos o procesos, (b) qué pasa si nuestras estructuras de datos se contienen a si mismas, un escenario posible al trabajar con grafos, o (c) qué hace Python con los valores temporales que se producen, sin ir más lejos, al sumar dos números o dos arrays de NumPy.
Aunque estos conceptos suelen considerarse avanzados y difíciles de entender, veremos que no es así. Éste no es un asunto meramente teórico ni es difícil encontrar sus aplicaciones prácticas. En esta charla explicaremos por qué es algo que debe importarnos y hablaremos de cómo aplicar los conocimientos que hemos adquirido a problemas específicos.
-----------
La PyConES es una conferencia de tres días de duración en la que se dan cita profesionales y entusiastas del lenguaje de programación Python que difunden su experiencia en varias sesiones de charlas técnicas. Por su naturaleza, la audiencia de la PyConES procede no sólo de sectores tecnológicos como desarrollo web, Business Intelligence o desarrollo de juegos sino también del mundo académico, siendo utilizado por multitud de profesores e investigadores.
---------
Todos los vídeos de PyconES 2018:
https://www.youtube.com/playlist?list=PLKxa4AIfm4pUQX9ePOy3KEpENDC331Izi
Twitter;
https://goo.gl/MU5pUQ
Instagram;
https://lk.autentia.com/instagram
LinkedIn
https://goo.gl/2On7Fj/
Facebook;
https://goo.gl/o8HrWX