http://qs1969.pair.com?node_id=557766


in reply to Objects as arrays but with autogenerated getters + setters

I was wondering, since you want to save memory and CPU, whether you benchmarked your approach versus a simple hash-based approach (or others).
  • Comment on Re: Objects as arrays but with autogenerated getters + setters

Replies are listed 'Best First'.
Re^2: Objects as arrays but with autogenerated getters + setters
by tinita (Parson) on Jun 27, 2006 at 12:45 UTC
    yes, i did a simple benchmark:
    timethese($ARGV[0]||-1, { hash => sub { $foo->set_name("x");return $foo->get_name }, array => sub { $bar->set_name("x");return $bar->get_name }, });

    $foo is a blessed hash and $bar a blessed array. both have 15 attributes. the array subroutine takes about 93% of the time.

    memory saving depends, of course, on the length of the hash keys. with 15 hash keys of length 5 i save about 15% 35%. (measured with Devel::Size::total_size)

    edit: i measured wrong for the memory test. i was just copying references before.