В середине июля 2008 года в ядро Rails было добавлено Memoization. Демонстрация использования здесь.
Я не смог найти хороших примеров, когда методы должны быть замечены, а также последствия для каждого из них. Это сообщение в блоге, например, предполагает, что часто memoization не следует использовать вообще.
Что-то, что потенциально может иметь огромные последствия для производительности, кажется, немного ресурсов, которые выходят за рамки простого учебника.
Кто-нибудь видел воспоминания, используемые в их собственных проектах? Какие факторы заставят вас подумать о мемонировании метода?
Сделав еще несколько исследований, я обнаружил, что memoization используется замечательное количество раз внутри ядра Rails.
Вот пример: http://github.com/rails/rails/blob/1182658e767d2db4a46faed35f0b1075c5dd9a88/actionpack/lib/action_view/template.rb.
Это использование, похоже, противоречит выводам вышеприведенного сообщения в блоге, в котором обнаружено, что memoization может повредить производительность.