<<< Date Index >>>     <<< Thread Index >>>

[HCACHE]: Support for a new Database: QDBM (which supports compression: header cache disk space is 1/5 with low performance impact)



Hello,
I just finised the qdbm testing and want some feedback from you!

[ The idea of hcache compressing was first raised by Michelle Konzack ]

Qdbm[1] is a very nice product which gets way to less attention. I would
never considered it if my payload compression with gdbm hadn't failed
(saved 2 Mb on a 24 Mb folder). However I wrote a patch[2] which adds
qdbm support on top of mutt cvs HEAD. When build with qdbm there is a
new configuration variable introduced:

set header_cache_compress=yes

Which defaults to 'no'. Note: In order to make compression work you need
qdbm compiled with *zlib* support. I used the following command with my
debian sarge box to compile mutt: qdbm isn't packaged for debian yet. If
you need build scripts for Solaris, reply.

wget http://qdbm.sourceforge.net/qdbm-1.8.24.tar.gz
tar xfz qdbm-1.8.24.tar.gz
cd qdbm-1.8.24
./configure --enable-zlib
make
cd ..
cvs -d:pserver:anonymous:anonymous@xxxxxxxxxxxx:/home/roessler/cvs login
cvs -d:pserver:anonymous@xxxxxxxxxxxx:/home/roessler/cvs co mutt
cd mutt
wget -o /dev/null -O - 
http://wwwcip.informatik.uni-erlangen.de/~sithglan/mutt/mutt-cvs-header-cache.30
 | patch -p1
export CFLAGS="-O2"
export CPPFLAGS="-I`pwd`/../qdbm-1.8.24"
export LDFLAGS="-Wl,--rpath -Wl,`pwd`/../qdbm-1.8.24 -L`pwd`/../qdbm-1.8.24"
aclocal -I m4 && autoheader2.50 && (cd m4 && make -f Makefile.am.in ) && 
automake && autoconf2.50
./configure --enable-hcache --enable-imap --with-slang --with-ssl
make

Check that configure gives you that line:
checking for vlopen... yes

And "ldd ./mutt | grep qdbm" this:
        libqdbm.so.8 => /tmp/sithglan/mutt/../qdbm-1.8.24/libqdbm.so.8 
(0x4022c000)

32 thousand mailbox needs uncompressed 2.0 seconds to open and
compressed 2.4 seconds. The needed disk space goes down from
24Mb to 5 Mb. qdbm is 0.2 seconds faster for me compared with gdbm.

Sincerely,
        Thomas

[1] http://qdbm.sourceforge.net/
[2] 
http://wwwcip.informatik.uni-erlangen.de/~sithglan/mutt/mutt-cvs-header-cache.30