Rendi Python più veloce memorizzando nella cache le funzioni: Memoizzazione |  di Marcin Kozak |  Novembre 2023

 | Intelligenza-Artificiale

PROGRAMMAZIONE PYTHON

L’articolo discute la memorizzazione utilizzando la libreria standard Python. Il decoratore functools.lru_cache lo rende così semplice!

Puoi richiedere a Python di ricordare quali funzioni sono già state restituite e di usarlo. fotografato da Kelly Sikkema SU Unsplash

Sappiamo tutti che Python può essere lento:

Ciò che di solito richiede più tempo in Python è chiamare funzioni e metodi di classe che eseguono processi costosi. Immagina per un secondo di dover eseguire tale funzione due volte per gli stessi argomenti; ci vorrà il doppio del tempo anche se entrambe le chiamate portano allo stesso output. È possibile semplicemente ricordare questo output e utilizzarlo ancora una volta ogni volta che è necessario?

Si, puoi! È chiamato memorizzazioneed è un termine comune nella programmazione. Potresti implementare le tue tecniche di memorizzazione, ma la verità è che non è necessario. Python ti offre un potente strumento di memorizzazione e lo fa nella libreria standard: the functools.lru_cache decoratore.

Sebbene spesso molto efficiente, la memorizzazione viene spesso omessa nei libri di testo Python, anche quelli che descrivono la profilazione e il risparmio di memoria durante la codifica. I libri che menzionano la memorizzazione in Python includono Pitone serio di Julien Danjou, Python fluente, 2a ed. di Luciano Ramalho, Programmazione funzionale Python, 3a ed. di Steven F.Lott.

Questo articolo mostra due cose: quanto sia semplice usare la memoizzazione nella libreria standard Python (quindi, usando functools.lru_cache) e quanto potente può essere questa tecnica. Non è solo latte e miele, però. Ecco perché discuteremo anche dei problemi che puoi riscontrare durante l’utilizzo di functools.lru_cache strumento di memorizzazione nella cache.

functools.lru_cache

Python offre vari strumenti di memorizzazione, ma oggi parliamo di quello che fa parte della libreria standard Python: functools.lru_cache.

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *