I have a lot of praise for using Memray as part of working out some memory kinks in a codebase I’m working on. It allowed me to quickly iterate on some hunches and then enshrine the resulting memory savings in tests via pytest-memray.
Other spreadsheets solve this by updating references if you need to add more columns and rows (or at least they try). Is the additional complexity of the infinite grid something that customers actually need?
To combat this scenario, we only had build servers populate the cache. Clients were readonly to the cache, so they would benefit from anything that build servers had already built, which covered 95%+ of what clients usually had to rebuild.
Also release builds were excluded from caching, to prevent any form of poisoning there.