Haz que Python sea más rápido mediante el almacenamiento en caché de funciones Memoización

Incrementa la velocidad de Python utilizando la memoización en la caché de funciones

PROGRAMACIÓN EN PYTHON

El artículo discute la memoización utilizando la biblioteca estándar de Python. El decorador functools.lru_cache hace que esto sea tan simple!

Puedes pedirle a Python que recuerde qué funciones ya han sido ejecutadas, y utilizarlas. Foto de Kelly Sikkema en Unsplash

Todos sabemos que Python puede ser lento:

La Velocidad de Python: ¡No es tan malo!

Siempre escucho que Python es demasiado lento. ¿Es así?

VoAGI.com

Lo que generalmente lleva más tiempo en Python es llamar a funciones y métodos de clases que ejecutan procesos costosos. Imagina por un momento que necesitas ejecutar esa función dos veces con los mismos argumentos; se necesitará el doble de tiempo, aunque ambas llamadas conducen al mismo resultado. ¿Es posible recordar este resultado y utilizarlo nuevamente cuando sea necesario?

¡Sí, es posible! Se llama memoización, y es un término común en programación. Podrías implementar tus propias técnicas de memoización, pero la verdad es que no tienes que hacerlo. Python te ofrece una poderosa herramienta de memoización y lo hace en la biblioteca estándar: el decorador functools.lru_cache.

Aunque a menudo es muy eficiente, la memoización a menudo se omite en los libros de Python, incluso aquellos que describen el perfilado y el ahorro de memoria durante la codificación. Los libros que mencionan la memoización en Python incluyen Serious Python de Julien Danjou, Fluent Python, 2da ed. de Luciano Ramalho, Functional Python Programming, 3ra ed. de Steven F. Lott.

Este artículo muestra dos cosas: lo simple que es usar la memoización en la biblioteca estándar de Python (usando functools.lru_cache) y lo poderosa que puede ser esta técnica. Sin embargo, no es solo color de rosa. Por eso también discutiremos los problemas que puedes encontrar al usar la herramienta de almacenamiento en caché functools.lru_cache.

Almacenamiento en Caché usando el módulo functools

functools.lru_cache

Python ofrece varias herramientas de memoización, pero hoy hablaremos de la que forma parte de la biblioteca estándar de Python: functools.lru_cache.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Comprendiendo la IA Explicable y la IA Interpretable

Como resultado de los avances tecnológicos recientes en el aprendizaje automático (ML), los modelos de ML ahora se ut...

Inteligencia Artificial

AWS Inferentia2 se basa en AWS Inferentia1 ofreciendo un rendimiento 4 veces mayor y una latencia 10 veces menor.

El tamaño de los modelos de aprendizaje automático (ML) - modelos de lenguaje grande (LLM) y modelos fundamentales (F...

Aprendizaje Automático

Meta AI presenta I-JEPA revolucionario Un gran salto innovador en la visión por computadora que emula el aprendizaje y el razonamiento humano y animal.

Los humanos recogen una gran cantidad de información de fondo sobre el mundo simplemente observándolo. El equipo de M...