[htdig3-dev] Upgrade to Berkeley DB 3.0.55


Subject: [htdig3-dev] Upgrade to Berkeley DB 3.0.55
From: Loic Dachary (loic@senga.org)
Date: Mon Apr 10 2000 - 09:33:47 PDT


       Hi,

       I've worked during the last 6 weeks on mifluz (standalone packaging
of the htword/htdb directories http://www.senga.org/html/mifluz). I've
solved bugs, portability problems and made performances enhancements.
I did not report all these changes to htdig because I started to use
Berkeley DB 3.0.55 and did not want to introduce such a major change
in the 3.2.0b2 version.

       But we still have a performance bottleneck on 3.2.0b2 that prevents
real usage. And at least a bug that can't be easily fixed with the
current Berkeley DB 2.7.7 version (although it could).

       To integrate the Berkeley DB 3.0.55 I took a rather radical
step by doing the following:

       - flatten the Berkeley DB 3.0.55 tree into one directory,
       - use Makefile.am + libtool to generate the library,
       - rename all the external symbols (prepend CDB_) to avoid
         any conflicts even if linked with a standard -ldb.

       I'm willing to make the same change on htdig just after the
3.2.0b2 is released, even if it's a radical one. I need to know how
you feel about that.
       The big drawback is that upgrading to the next Berkeley DB
version won't be easy. Anyway, it stoped to be easy for me since I've
plugged the compression ;-)

       The advantages are that I could:

       - make all Berkeley DB files share the same cache (It is
         also possible with Berkeley DB 2.7.7 but much more cumbersome
         because the DB_INFO and DB_ENV types are distinct where in
         Berkeley DB 3.0.55 they are united)
         This could solve the performance bottleneck by itself. At
         present only the word list has a cache and does not share
         with other files.
       - it's stable (well 2.7.7 is stable too, I just wanted you to
         know that after 1 month of continuous use I haven't had the
         slightest problem)
       - symbols do not conflict anymore
       - shared library generation is consistent and works on
         Solaris
       - I've added a monitoring hooks within Berkeley DB 3.0.55
         (and perl script to generate graphs using rrdtool) that
         will be quite usefull to find out what's wrong/good (see
         http://www.senga.org/mifluz/html/benchmark/insert1/
         for an example).

       Cheers,

-- 
		Loic Dachary

24 av Secretan 75019 Paris Tel: 33 1 42 45 09 16 e-mail: loic@dachary.org URL: http://www.senga.org/

------------------------------------ To unsubscribe from the htdig3-dev mailing list, send a message to htdig3-dev-unsubscribe@htdig.org You will receive a message to confirm this.



This archive was generated by hypermail 2b28 : Mon Apr 10 2000 - 07:20:02 PDT