Lors de l'utilisation de memoization dans Ruby on Rails

À la mi-juillet 2008 Memoization a été ajouté à Rails de base. Une démonstration de l'utilisation est ici.

Je n'ai pas été en mesure de trouver les bons exemples en la matière lorsque les méthodes doivent être memoized, et les implications sur les performances de chacun. Ce blog, par exemple, suggère que, souvent, memoization ne doit pas être utilisé à tous.

Pour quelque chose qui pourrait avoir d'énormes implications sur les performances, il semble y avoir peu de ressources qui vont au-delà de la fourniture d'un tutoriel simple.

Quelqu'un a vu memoization utilisés dans leurs propres projets? Quels sont les facteurs qui vous ferait considérer memoizing une méthode?


Après avoir fait un peu plus de recherche sur mon propre j'ai trouvé que memoization est utilisé dans un grand nombre de fois à l'intérieur des Rails de base.

Voici un exemple: http://github.com/rails/rails/blob/1182658e767d2db4a46faed35f0b1075c5dd9a88/actionpack/lib/action_view/template.rb.

Cette utilisation semble aller à l'encontre des conclusions du blog ci-dessus qui a trouvé memoization peut nuire à la performance.

InformationsquelleAutor Gdeglin | 2009-03-30