/[Biblio-Isis]/trunk/scripts/bench.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/scripts/bench.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 36 - (hide annotations)
Thu Jan 6 20:48:07 2005 UTC (19 years, 3 months ago) by dpavlin
File MIME type: text/plain
File size: 1086 byte(s)
renamed module to Biblio::Isis

1 dpavlin 7 #!/usr/bin/perl -w
2    
3     use strict;
4     use blib;
5    
6 dpavlin 36 use Biblio::Isis;
7 dpavlin 7 use OpenIsis;
8     use MARC::File::USMARC;
9    
10     use Benchmark qw( timethese cmpthese ) ;
11    
12     my $isisdb = shift @ARGV || '/data/isis_data/ps/LIBRI/LIBRI';
13    
14 dpavlin 36 my $isis = Biblio::Isis->new (
15 dpavlin 7 isisdb => $isisdb,
16     debug => shift @ARGV,
17     );
18    
19 dpavlin 36 my $isis_filter = Biblio::Isis->new (
20 dpavlin 14 isisdb => $isisdb,
21     debug => shift @ARGV,
22     hash_filter => sub {
23     my $v = shift;
24     return lc($v);
25     }
26     );
27    
28 dpavlin 32 my $rows = $isis->count;
29 dpavlin 7
30     my $db = OpenIsis::open( $isisdb );
31    
32     print "rows: $rows\n\n";
33    
34     my $mfn = 1;
35    
36     my $r = timethese( -5, {
37 dpavlin 36 Isis => sub {
38 dpavlin 7 $isis->fetch( $mfn++ % $rows + 1 );
39     },
40 dpavlin 36 Isis_hash => sub {
41 dpavlin 14 $isis->to_hash( $mfn++ % $rows + 1 );
42     },
43 dpavlin 36 Isis_hash_filter => sub {
44 dpavlin 14 $isis_filter->to_hash( $mfn++ % $rows + 1 );
45     },
46    
47 dpavlin 7 OpenIsis => sub {
48     OpenIsis::read( $db, $mfn++ % $rows + 1 );
49     },
50 dpavlin 14
51     OpenIsis_hash => sub {
52     my $row = OpenIsis::read( $db, $mfn++ % $rows + 1 );
53     my $rec;
54     no strict 'refs';
55     foreach my $f (keys %{$row}) {
56     foreach my $v (@{$row->{$f}}) {
57     push @{$rec->{$f}}, OpenIsis::subfields($v);
58     }
59     }
60    
61     },
62 dpavlin 7 } );
63     cmpthese $r;
64    

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26