Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!shelby!apple!sun-barr!texsun!texbell!vector!chip From: chip@vector.Dallas.TX.US (Chip Rosenthal) Newsgroups: gnu.utils.bug Subject: big problems with gdbm 0.8 Message-ID: <710@vector.Dallas.TX.US> Date: 27 Aug 89 04:12:07 GMT Reply-To: chip@vector.Dallas.TX.US (Chip Rosenthal) Distribution: gnu Organization: Dallas Semiconductor Lines: 25 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