⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kinosearch_indexer.plx

📁 外国人写的Perl搜索引擎程序
💻 PLX
字号:
#!/usr/bin/perluse strict;use warnings;use lib 'indexers';use Getopt::Long;use Cwd qw( getcwd );use BenchmarkingIndexer;# verify that we're running from the right directory;my $working_dir = getcwd;die "Must be run from benchmarks/"    unless $working_dir =~ /benchmarks\W*$/;# index all docs and run one iter unless otherwise spec'dmy ( $num_reps, $max_to_index, $increment, $store, $build_index );GetOptions(     'reps=s' => \$num_reps,     'docs=s' => \$max_to_index,    'increment=s' => \$increment,    'store=s'  => \$store,    'build_index=s' => \$build_index,);$num_reps  = 1 unless defined $num_reps;my $bencher = BenchmarkingIndexer::KinoSearch->new(    docs      => $max_to_index,    increment => $increment,    store     => $store,);if ($build_index) {    my ( $count, $secs ) = $bencher->build_index;    print "docs: $count elapsed: $secs\n";    exit;}else {    $bencher->start_report;    my @times;    for my $rep ( 1 .. $num_reps ) {        # spawn an index-building child process        my $command = "$^X ";        # try to figure out if this program was called with -Mblib        for (@INC) {            next unless /\bblib\b/;            # propagate -Mblib to the child            $command .= "-Mblib ";            last;        }        $command .= "$0 --build_index=1 ";        $command .= "--docs=$max_to_index " if $max_to_index;        $command .= "--store=$store " if $store;        $command .= "--increment=$increment " if $increment;        my $output = `$command`;        # extract elapsed time from the output of the child        $output =~ /^docs: (\d+) elapsed: ([\d.]+)/             or die "no match: '$output'";        my $docs = $1;        my $secs = $2;        push @times, $secs;        $bencher->print_interim_report(             rep => $rep,             secs => $secs,            count => $docs,        );    }    $bencher->print_final_report(\@times);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -