Joshua Nathaniel Pritikin


  ObjStore::AVHV - Hash interface, array performance


  package MatchMaker::Person;
  use base 'ObjStore::AVHV';
  use fields qw( height hairstyle haircolor shoetype favorites );


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.


  • 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.