svn commit: r1934880 - spamassassin/trunk/masses/rule-qa/automc
[email protected] Tue, 02 Jun 2026 13:09:10 -0000
| Newsgroups | gmane.mail.spam.spamassassin.cvs |
|---|---|
| Message-ID | <178040575000.1922994.3602645001327054325@svn03-he-fi> |
Author: gbechis
Date: Tue Jun 2 13:09:09 2026
New Revision: 1934880
Log:
cache only needed values, not the whole freqs hash
Modified:
spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi
Modified: spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi
==============================================================================
--- spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi Tue Jun 2 12:56:53 2026 (r1934879)
+++ spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi Tue Jun 2 13:09:09 2026 (r1934880)
@@ -922,15 +922,19 @@ sub read_freqs_file {
# is fresh?
if (mtime($scache) >= mtime($file)) {
return if $refresh; # just -refresh
+ my $cached;
eval {
- $self->{freqs} = thaw(decompress(readfile($scache)));
+ $cached = thaw(decompress(readfile($scache)));
};
- if ($@ || !defined $self->{freqs}) {
+ if ($@ || !defined $cached || !exists $cached->{data}{$key}) {
warn "cache retrieve failed $scache: $@ $!";
# remove bad file
unlink($scache);
}
else {
+ $self->{freqs}{head}{$key} = $cached->{head}{$key};
+ $self->{freqs}{data}{$key} = $cached->{data}{$key};
+ $self->{freqs}{ordr}{$key} = $cached->{ordr}{$key};
return;
}
}
@@ -1025,7 +1029,11 @@ sub read_freqs_file {
if ($refresh && !-f $scache) {
eval {
open (OUT, ">$scache.$$") or die "open failed: $@";
- print OUT compress(nfreeze(\%{$self->{freqs}}));
+ print OUT compress(nfreeze({
+ head => { $key => $self->{freqs}{head}{$key} },
+ data => { $key => $self->{freqs}{data}{$key} },
+ ordr => { $key => $self->{freqs}{ordr}{$key} },
+ }));
close OUT;
};
if ($@ || !rename("$scache.$$", $scache)) {