projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
really fix the caching in all cases
[spider.git]
/
perl
/
Prefix.pm
diff --git
a/perl/Prefix.pm
b/perl/Prefix.pm
index 3fdcdceaf8aa1823b43dedd01d3cbfb297fc28d0..0e67801d9e8f10ce494db023877ab5abcf67a439 100644
(file)
--- a/
perl/Prefix.pm
+++ b/
perl/Prefix.pm
@@
-148,10
+148,10
@@
sub matchprefix
my $pref = shift;
my @partials;
my $pref = shift;
my @partials;
- $pref =~ s/-\d+$//;
for (my $i = length $pref; $i; $i--) {
$matchtotal++;
my $s = substr($pref, 0, $i);
for (my $i = length $pref; $i; $i--) {
$matchtotal++;
my $s = substr($pref, 0, $i);
+ push @partials, $s;
my $p = $cache{$s};
if ($p) {
$hits++;
my $p = $cache{$s};
if ($p) {
$hits++;
@@
-159,10
+159,10
@@
sub matchprefix
my $percent = sprintf "%.1f", $hits * 100 / $misses;
dbg("Partial Prefix Cache Hit: $s Hits: $hits/$misses of $matchtotal = $percent\%");
}
my $percent = sprintf "%.1f", $hits * 100 / $misses;
dbg("Partial Prefix Cache Hit: $s Hits: $hits/$misses of $matchtotal = $percent\%");
}
+ $cache{$_} = $p for @partials;
return @$p;
} else {
$misses++;
return @$p;
} else {
$misses++;
- push @partials, $s;
my @out = get($s);
if (isdbg('prefix')) {
my $part = $out[0] || "*";
my @out = get($s);
if (isdbg('prefix')) {
my $part = $out[0] || "*";