0.92.6's bogotune much slower?

David Relson relson at osagesoftware.com
Sun Sep 5 14:13:50 CEST 2004


On Sun, 05 Sep 2004 10:55:55 +0200
Valient Gough wrote:

> On Fri, 2004-09-03 at 01:27, David Relson wrote:
> 
> > Given the _much_ larger number of parameter combinations to check,
> > bogotune _is_ slower.
> > 
> > If you want to skip the ESF tests, run bogotune with the "-E" flag. 
> > I usually use "-vv" when I run it as that shows a reasonable level
> > of intermediate results and lets me see that bogotune is chugging
> > along.
> 
> 
> Thanks for the description.  My bogotune run has just finished, so I
> can report that it took 5 days worth of CPU time to run.  Doesn't this
> seem excessive as the default?  Perhaps the flag should be to enable
> ESF search instead of disable it.
> 
> I just started a run with ESF disabled, and I notice that instead of
> using the ESF parameters that are in the configuration file, disabling
> ESF instead forces spesf and nsesf to 1.0.

You're right.  Having bogotune use the already known ESF values _would_
be faster.  That's the up side.  On the down side, with modified tokens
in the wordlist and with a different set of messages used in tuning, the
old ESF values may no longer be optimal.  So running bogotune with old
ESF values is not ideal.  Of course, using the default ESF values of 1.0
isn't ideal either.

In normal operation, since bogotune is looking for a fresh, new set of
parameters, it doesn't use the old parameter settings, hence doesn't
read a config file.  The good news is that bogotune is able to read a
config file and will use the old ESF values.  Run "bogotune -?" to
display the help message (which includes the option for reading the
config file).  Then run bogotune with config file and "-E" and it'll do
as you want.


> I've changed my local copy to use the existing ESF (at least for the
> course scan):
> 
> static void init_coarse(double _rx)
> {
>     double current_spexp = log(sp_esf)/log(.75);
>     double current_nsexp = log(ns_esf)/log(.75);
> 
>     rxval = seq_canonical(_rx, 0.05);
>     rsval = seq_by_pow(0.0, -2.0, -1.0);
>     mdval = seq_by_amt(MD_MIN_C, MD_MAX_C, MD_DLT_C);
>     spexp = seq_by_amt(ESF_SEL(current_spexp,2.0),
>                        ESF_SEL(current_spexp,20.0), 3.0);
>     nsexp = seq_by_amt(ESF_SEL(current_nsexp,2.0),
>                        ESF_SEL(current_nsexp,20.0), 3.0);
> }
> 
> Wouldn't keeping the existing value make more sense then throwing it
> away?  After all the option says "disable ESF ... tuning", it doesn't
> say that it will set ESF to a new value.

Improving the wording may well be possible.  I'll take a look at the man
page and see what I can do.

David

P.S.  Please subscribe to the bogofilter mailing list.  Doing so will
remove the need for moderator approval of your messages -- something
that typically only happens once a day.



More information about the Bogofilter mailing list