in reply to CGI and static data...

Given your estimated data requirements, I would suggest not trying to optimize this. The attempt to optimize is going to be a needless complexity. The complexity of managing several processes is going to require maintainance work, if performance is not critical I would avoid that work.

But suppose that performance matters. Well then my solution would be to write a module which takes requests for a data element and returns just that data. Inside that module if it is not initialized, or if it was initialized from an older file than you see out there, then do the do. Otherwise return the data from the memoized file.

And now use mod_perl. Now if the page is heavily hit, on most requests that value will be memoized already and so it merely has to check that the file hasn't been updated and then return the current value. Sure, the data isn't shared between processes, but you get most of the way to ideal performance very easily. And if the memory requirements do get out of hand, then you can revisit the design later quite easily since the necessary code is divided between a configuration file and a simple module.