--- trunk/scripts/bench.pl 2004/12/29 15:10:34 7 +++ trunk/scripts/bench.pl 2005/01/05 15:46:26 32 @@ -16,7 +16,16 @@ debug => shift @ARGV, ); -my $rows = $isis->{'maxmfn'}; +my $isis_filter = IsisDB->new ( + isisdb => $isisdb, + debug => shift @ARGV, + hash_filter => sub { + my $v = shift; + return lc($v); + } +); + +my $rows = $isis->count; my $db = OpenIsis::open( $isisdb ); @@ -28,9 +37,28 @@ IsisDB => sub { $isis->fetch( $mfn++ % $rows + 1 ); }, + IsisDB_hash => sub { + $isis->to_hash( $mfn++ % $rows + 1 ); + }, + IsisDB_hash_filter => sub { + $isis_filter->to_hash( $mfn++ % $rows + 1 ); + }, + OpenIsis => sub { OpenIsis::read( $db, $mfn++ % $rows + 1 ); }, + + OpenIsis_hash => sub { + my $row = OpenIsis::read( $db, $mfn++ % $rows + 1 ); + my $rec; + no strict 'refs'; + foreach my $f (keys %{$row}) { + foreach my $v (@{$row->{$f}}) { + push @{$rec->{$f}}, OpenIsis::subfields($v); + } + } + + }, } ); cmpthese $r;