Pour gagner du temps lors du traitement de calculs longs et récursifs, voici comment construire une fonction qui va mémoriser les appels dans un cache.

 

La memoisation est un processus de linéarisation permettant d'accroître de façon spectaculaire les performances de certaines fonctions, en particulier certaines fonctions récursives. Je vais illustrer le principe de memoization et analyser ses avantages à travers le développement dune fonction de memoization simple pour Javascript.

 

Principe et motivation

L'idée de la Mémoization n'est pas nouvelle et répond à un problème récurrent des fonctions coûteuses, en particulier des fonctions récursives. Le principe est relativement simple : remplacer une fonction gourmande par une autre fonction qui va "mémoriser" ses différents appels dans un cache afin de ne pas avoir à s'exécuter plusieurs fois avec les mêmes arguments.

 

Ce tutoriel a été réalisé par Frederic Minne sous licence Creative Commons


JDN Développeur Envoyer Imprimer Haut de page