> Just as a counterpoint, both as a user and a developer I've found the main cause of performance issues and UI bugs come from a combination of distributed state and caching.
Isn't that like, the main cause of most software headaches? insert joke about cache invalidation and naming things.
It sounds like you're saying bad caching can be worse than no caching. I can absolutely see that being the case.
> - Make it difficult for a human programmer to reason intuitively about the performance of the code they write.
>It sounds like you're saying bad caching can be worse than no caching. I can absolutely see that being the case.
More specifically, I'm saying that caches (implicit or explicit) can and do go wrong, and the simplest way to avoid invalidation errors (and the performance hiccups when higher-level developers start manually invalidating the cache to work around them) is to just implement them in as few places as possible.
Isn't that like, the main cause of most software headaches? insert joke about cache invalidation and naming things.
It sounds like you're saying bad caching can be worse than no caching. I can absolutely see that being the case.
> - Make it difficult for a human programmer to reason intuitively about the performance of the code they write.
Totally agree.