The goal in a way is better reproducibility. The memo hashes the contents of the inputs, so if your cell is deterministic (and you cover all the inputs), the memo should give you the right answers. Of course if you want to rerun everything you can always just delete the memos, but properly used it should be a strict performance improvement.
Of course there are many improvements that can be made (tracking if dependent functions have changed etc) and of course there are inherent limitations. This is very much “work in progress”. But is quite useful right now!
That's an enormously large if, and without any way to detect or manage when that's not the case, it's hard to see how this could aid reproducibility. This adds a new failure mode for reproducibility where an important side-effect is not rerun, altering the results.
Sorry, if it were possible to just generically cache computations it would be done everywhere for everything. This is just going to help with toy examples.
The only way this leads to "better reproducability" is if it fails to recompute things that it should have recomputed. If the computation was actually deterministic from its inputs the best and literally the only possible thing this can do is exactly what recomputing it would do, but faster. Frankly that you said it is more reproducible is enough evidence for me that you are doing something fundementally broken.
- My notebook queries a database for some data -> I run some downstream calculations. Re-querying returns slightly different data, but using cached outputs means I can replicate the work.
- In another notebook, I was trying to replicate my coworkers work where he queried OpenAI a few thousand times. The results may be different when I run it, since OpenAI changed something.
When notebooks are used well, it's in the context of internal data / ML project collaboration. So being able to flash-freeze a cell for your collaborators helps you juggle and pass around notebooks more easily with confidence.
Shipping notebooks directly to production is a whole another set of challenges that I have my own, separate opinions on but that's a different beast entirely.