1*b8851fccSafresh1Changes from the earlier BETA releases. 2*b8851fccSafresh1 3*b8851fccSafresh1o dbm_prep does everything now, so dbm_open is just a simple 4*b8851fccSafresh1 wrapper that builds the default filenames. dbm_prep no longer 5*b8851fccSafresh1 requires a (DBM *) db parameter: it allocates one itself. It 6*b8851fccSafresh1 returns (DBM *) db or (DBM *) NULL. 7*b8851fccSafresh1 8*b8851fccSafresh1o makroom is now reliable. In the common-case optimization of the page 9*b8851fccSafresh1 split, the page into which the incoming key/value pair is to be inserted 10*b8851fccSafresh1 is write-deferred (if the split is successful), thereby saving a cosly 11*b8851fccSafresh1 write. BUT, if the split does not make enough room (unsuccessful), the 12*b8851fccSafresh1 deferred page is written out, as the failure-window is now dependent on 13*b8851fccSafresh1 the number of split attempts. 14*b8851fccSafresh1 15*b8851fccSafresh1o if -DDUFF is defined, hash function will also use the DUFF construct. 16*b8851fccSafresh1 This may look like a micro-performance tweak (maybe it is), but in fact, 17*b8851fccSafresh1 the hash function is the third most-heavily used function, after read 18*b8851fccSafresh1 and write. 19