IO медленнее, чем простые вычисления, но чрезвычайно сложные вычисления могут быть медленнее, чем IO. Кэш ограничен и должен использоваться для сокращения времени вычислений.
Я бы кэшировал чрезвычайно сложные вычисления, чтобы они не были переоценены несколько раз. Если данные используются более чем в два раза, то это нарушает даже время ввода-вывода.
Если вычисления не так сложны, вам не нужно кэшировать и просто пересчитывать. Но посмотрите, сколько раз его повторное использование, если повторное использование является высоким, то кэш дает лучшую производительность.
Существуют различные варианты хранения (память, диск, и то и другое) для кэширования промежуточных данных, вы можете использовать их вместо явной записи на диск.