projects
/
Biblio-Isis
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
new api version
[Biblio-Isis]
/
scripts
/
bench.pl
diff --git
a/scripts/bench.pl
b/scripts/bench.pl
index
e7e130b
..
4fd3cb2
100755
(executable)
--- a/
scripts/bench.pl
+++ b/
scripts/bench.pl
@@
-16,7
+16,16
@@
my $isis = IsisDB->new (
debug => shift @ARGV,
);
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 );
my $db = OpenIsis::open( $isisdb );
@@
-28,9
+37,28
@@
my $r = timethese( -5, {
IsisDB => sub {
$isis->fetch( $mfn++ % $rows + 1 );
},
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 => 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;
} );
cmpthese $r;