2.2.2.2 记忆化优化 我们来直面一个在 Haskell、Scala、Clojure 甚至现代 JavaScript(配合 Proxy + WeakMap)中反复上演的“优雅陷阱”:你以为 memoization 是银弹,直到它在生产环境里悄悄吃掉你 87% 的堆内存,而 GC 日志里只留下一行沉默的 。 这不是理论推演,也不是教科书里的“考虑缓存失效”的轻描淡写。这是上周三凌晨两点我蹲在新加坡 AWS us-east-1 的 CloudWatch Logs Insight 里,盯着 告警曲线,手指悬停在 上时的真实战况。 问题出在哪? 不是没加 memoization —— 我们加了。 不是加得不对 —— 我们用的是 的 ,还手写了 + 的双重校验版本。