BerkeleyDB

Gyepi SAM gyepi at praxis-sw.com
Thu Sep 19 00:27:18 CEST 2002


On Wed, Sep 18, 2002 at 02:38:15PM -0500, Eric Seppanen wrote:
> What was the rationale behind that change?
> 
> > I believe ESR made that change.  Using Judy for the word lists is creating 
> > an in-memory database, which takes time to load and uses memory while 
> > running.  My understanding is that the BerekelyDB lessens the load time and 
> > the memory footprint.
> 
> When I asked ESR about it he replied:
> 
> | The reason I now use DBM for wordlists is in order to make it possible
> | to support wordlist persistence in memory with mmap, rather than through
> | the autodaemon approach.

I made the change against the 0.4 version and offered the patch to ESR.
The rationale was, as David pointed out, to reduce the load time.
Judy does not have persistent storage, so the lists had to be loaded at startup. 
This would sometimes take up to 3-4+ seconds in my ( ~ 1 million word lists).
ESR initially tried the autodaemon approach, which
incurs that cost once, but decided the it was a bad idea and instead accepted my DB3 patch.

Given the size of the project and the numbers of people involved, I think it may be a good idea
to evaluate better approaches to all of the current implementations before things jell and it becomes
more difficult to do so.  I choose DB3 and like it, but would certainly consider alternatives. Ideally, alternatives
should have the same benefits of availability, portability, etc. The autodaemon concept may even be worth re-evaluating.

-Gyepi



More information about the bogofilter-dev mailing list