Well, I think it depends on how you implement the cache... if you're serializing these and flushing them from ram so as not to take up space between page loads, then you'll need to read them from the file, and that may take a fair bit of time. Otherwise you just return the cache.
page load 1: create+store, reuse, reuse
page load 2: load, reuse, reuse
or
page load 2: reuse, reuse, reuse
That is, how many milliseconds were spent on subsequent page loads in the unoptimized code?
hmm, I'm a little confused... since you've updated that one section, wouldnt subsequent page loads all call the updated section, which quickly returns the cache?