NAME
ObjStore::AVHV - Hash interface, array performance
SYNOPSIS
package MatchMaker::Person;
use base 'ObjStore::AVHV';
use fields qw( height hairstyle haircolor shoetype favorites );
DESCRIPTION
Support for extremely efficient records.
Even without optimization or benchmarks, the memory savings achieved by factoring the hash keys is quite significant and a large performance win. Perl implements a similar strategy by globally sharing hash keys across all (transient) hashes.
TODO
More documentation
This could be implemented with zero per-record overhead if we stored the layout in a per-class global. This would definitely be slower though.