[gnu.utils.bug] big problems with gdbm 0.8

chip@vector.Dallas.TX.US (Chip Rosenthal) (08/27/89)

I have ported gdbm version 0.8 to System V (actually XENIX).  I have found
several problems with it.

First, gdbm will only work on a machine where:

    sizeof(long) == sizeof(int) == sizeof(char *)

To see how big the problem was, I ran lint on it.  I got *five* pages of
output.

Second, there are a couple of small bugs in it.  The worst is line 195
in gdbmopen() where the for loop scribbles beyond dbf->dir[] and dumps
core.

Third, I am getting really bad performance results.  I took a small utility
which uses the system dbm and recompiled it with gdbm.  With the XENIX dbm,
it took me 5 seconds to build the database.  GNU dbm takes about 90 seconds.
And this is a very small database with only about 300 entires.

This last problem is a real killer for me.  Has anybody compared gdbm
against their native dbm?  Are the results consistent with what I'm
seeing?
-- 
Chip Rosenthal / chip@vector.Dallas.TX.US / Dallas Semiconductor / 214-450-5337
"I wish you'd put that starvation box down and go to bed" - Albert Collins' Mom

arnold@mathcs.emory.edu (Arnold D. Robbins {EUCC}) (08/28/89)

In article <710@vector.Dallas.TX.US> chip@vector.Dallas.TX.US (Chip Rosenthal) writes:
>Third, I am getting really bad performance results.  I took a small utility
>which uses the system dbm and recompiled it with gdbm.  With the XENIX dbm,
>it took me 5 seconds to build the database.  GNU dbm takes about 90 seconds.
>And this is a very small database with only about 300 entires.
>
>This last problem is a real killer for me.  Has anybody compared gdbm
>against their native dbm?  Are the results consistent with what I'm
>seeing?

Phil has been doing lots of work to improve the code performance.  He told
me that 0.9 will be around 1.25 NDBM on writes, and perhaps .5 NDBM on reads.
In English, writes are about 25% slower but reads about twice as fast!

0.9 will also have an NDBM compatibility interface as well as the current
DBM compatibility interface.  This is a real boon.

I can't comment on how cleanly 0.9 lints, since I haven't looked, and I don't
have a very current copy, anyway.

So, patience is warranted. GDBM is coming along nicely.  I hope Phil won't
be too mad at me for talking about unreleased software.
-- 
Arnold Robbins -- Emory University Computing Center | Laundry increases
DOMAIN: arnold@unix.cc.emory.edu		    | exponentially in the
UUCP: gatech!emoryu1!arnold  PHONE: +1 404 727-7636 | number of children.
BITNET: arnold@emoryu1	     FAX:   +1 404 727-2599 |     -- Miriam Hartholz