It’s often better to overlay caching and other tricks on top of naive implementations than making the implementation more complicated.
It’s often better to overlay caching and other tricks on top of naive implementations than making the implementation more complicated.
* until you get caching layers more complicated than the more complicated implementations :) Imo strong implementations can be much simpler and more predictable than caching.