I can't tell from your question whether these hashes are really about numerical data (which would make this more like a pandas-style "data frame", see Data::Frame for a Perl equivalent). If it really is just numerical stuff, you could try PDL which (after you convert your currently-shaped data to a single memory-mapped data block) can memory-map a file of any size with
, and for numerical operations over that, will now (as of 2.063) automatically pthread (using all available CPU cores) any operations over higher dimensions.