Spamassassin 3.2, which is available in Gutsy and Lenny, comes with a new feature to increase performance by
compiling its regular expressions using re2c. It’s very quick to enable.
First, you need to install the required packages:
apt-get install re2c libc6-dev gcc make
Next, edit /etc/spamassassin/v320.pre and uncomment the line
that says:
loadplugin Mail::SpamAssassin::Plugin::Rule2XSBody
Next pre-compile the regular expressions using sa-compile:
femme:/etc/logcheck# sa-compile [18741] info: generic: base extraction starting. this can take a while... [18741] info: generic: extracting from rules of type body_0 100% [===========================] 3293.83 rules/sec 00m00s DONE 100% [===========================] 650.12 bases/sec 00m01s DONE [18741] info: body_0: 647 base strings extracted in 2 seconds [snip compiler output] make install Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /var/lib/spamassassin/compiled/3.002004/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so Installing /tmp/.spamassassin18741hDrlUQtmp/ignored/man/man3/Mail::SpamAssassin::CompiledRegexps::body_0.3pm Writing /var/lib/spamassassin/compiled/3.002004/auto/Mail/SpamAssassin/CompiledRegexps/body_0/.packlist Appending installation info to /var/lib/spamassassin/compiled/3.002004/perllocal.pod cp /tmp/.spamassassin18741hDrlUQtmp/bases_body_0.pl /var/lib/spamassassin/compiled/3.002004/bases_body_0.pl cd / rm -rf /tmp/.spamassassin18741hDrlUQtmp
Finally, restart spamassassin, and you should find it runs faster.
You will need to run sa-compile every time you update your rules, or
they won’t take effect.
If you get the following warning:
Can't locate Mail/SpamAssassin/CompiledRegexps/body_0.pm in @INC
you forgot to run sa-compile; re-run it and the error should go
away.