Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: Optimizing Iterating over a giant hash

by jethro (Monsignor)
on Dec 25, 2009 at 23:47 UTC ( #814387=note: print w/replies, xml ) Need Help??

in reply to Optimizing Iterating over a giant hash

You might use a divide and conquer method.

Store the data sequentially into files, one file for each different $entry value. If that number is too big (bigger than the number of files you can have open at any one time), you might group the entry values with a suitable scheme.

The difference to DMBM:Deep is that you write to these files sequentially, it should be much faster because of buffering.

After that you can reread and work through the files one by one. Hopefully now a single file should fit into memory without having to resort to swapping (which probably makes your application slow at the moment)

  • Comment on Re: Optimizing Iterating over a giant hash

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://814387]
and the fire pops...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (10)
As of 2017-11-22 11:10 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (319 votes). Check out past polls.