|P is for Practical|
Hash key or value string reuse?by QM (Parson)
|on Jun 15, 2009 at 21:18 UTC||Need Help??|
QM has asked for the
wisdom of the Perl Monks concerning the following question:
I've made a quick search, but didn't find what I needed. Please point out relevant references if you got 'em.
I have a very large hash tree structure, with a lot of duplicate strings as either keys or values (depends on the sub tree). I'm using DBM::Deep for persistence, but I also run the script in memory mode, so this issue is equally valid for both.
I'm looking to reduce the overall hash size by, for instance, creating a subhash with the common value strings, and having the values point to the common string sub hash. Does Perl already do something like this for me behind the scenes?
What would I do for common key strings (in subtrees, of course)?
[The hash contains both numeric and string data. String data is sometimes short, like "N/A", or a filename, or 200+ bit bitstring that can't be represented numerically. The bitstrings tend to be similar, and there's a lot of duplicates.]