flex speed

David Relson relson at osagesoftware.com
Tue Aug 5 00:07:26 CEST 2003


As reported earlier, the current parser (which works fine with flex-2.5.4) 
needs to be modified slightly to work with flex-2.5.31.  Specifically the 
"%never-interactive" directive used with flex-2.5.31 breaks the 
parsing.  Without the directive, flex-2.5.31 parsing is fine.

I ran two pairs of tests (with 5 repetitions of each test):

A - flex-2.5.4 with %never-interactive vs.
     flex-2.5.31 without %never-interactive

B - flex-2.5.4 without %never-interactive vs.
     flex-2.5.31 without %never-interactive

The test used a .mbx file with 10 copies each of 
bogofilter/src/tests/bogofilter/inputs/*.mbx, giving a total of 80,730 
liens, 331,890 words, and 3,596,320 chars.  Timing was done using "time -p".

As a summary, flex-2.5.4 with %never-interactive is fastest.  2.5.4 without 
%never-interactive is 2% slower.  2.5.31 without %never-interactive is 
another 2% slower.  The move to flex-2.5.31 will slow bogofilter by a very 
small amount (unless it's determined that %never-interactive is broken in 
the new flex and it gets fixed).

Here are the results (with averages of the 5 reps).

A:  real    user    sys         real    user    sys
     2.11    1.91    0.09        2.17    1.99    0.08
     2.08    1.93    0.07        2.17    2.01    0.07
     2.12    1.94    0.07        2.16    1.99    0.08
     2.07    1.93    0.07        2.13    2.01    0.07
     2.07    1.94    0.05        2.12    2.00    0.07
av: 2.09    1.93    0.07        2.15    2.00    0.07

       bogolexer_254               bogolexer_2531
B:  2.12    1.97    0.08        2.19    2.01    0.07
     2.10    1.91    0.11        2.20    2.03    0.06
     2.29    1.98    0.08        2.16    2.00    0.08
     2.04    1.98    0.05        2.15    1.97    0.10
     2.07    1.96    0.09        2.17    1.99    0.08
av: 2.12    1.96    0.08        2.17    2.00    0.08





More information about the Bogofilter mailing list