Defining instance-specific behavior of any kind is catastrophic to method caching. JRuby has a hierarchical method cache so it can clear only what's needed, but MRI does not:<p><a href="http://jamesgolick.com/2013/4/14/mris-method-caches.html" rel="nofollow">http://jamesgolick.com/2013/4/14/mris-method-caches.html</a><p>The late, great James Golick had a patch to add one once, but it never got merged upstream.<p>If you care about performance even the tiniest bit at all whatsoever, please don't use the techniques discussed in the OP in production code or in your gems. It may make your memos 30% faster on a microbenchmark... while causing the rest of your program to run considerably slower.