mariadb/newbrt
Bradley C. Kuszmaul 015bc27f2f Don't be wasteful when splitting brt leaves. Fixes #294.
This makes big difference for space (46% smaller) and a small time difference (5% faster), as measured by benchmark-test.

Before:
{{{
$ ./benchmark-test
nodesize=1048576
keysize=8
valsize=8
Serial and random insertions of 1048576 per batch
serial  8.753964s   119783/s    random  5.640094s   185915/s    cumulative 14.394118s   145695/s
serial  9.381472s   111771/s    random  7.325284s   143145/s    cumulative 31.100944s   134861/s
serial  9.859233s   106355/s    random  6.734307s   155707/s    cumulative 47.694553s   131911/s
serial 11.069200s    94729/s    random  6.885863s   152280/s    cumulative 65.649695s   127778/s
Shutdown  4.636875s
Total time 70.286611s for 8388608 insertions =   119349/s
$ ls -l sinsert.brt
-rwxrwxr-x 1 bradley bradley 730344924 Jan 22 11:47 sinsert.brt
}}}

After:
{{{
$ ./benchmark-test
nodesize=1048576
keysize=8
valsize=8
Serial and random insertions of 1048576 per batch
serial  8.521855s   123046/s    random  5.730942s   182967/s    cumulative 14.252861s   147139/s
serial  9.106047s   115152/s    random  7.001765s   149759/s    cumulative 30.360740s   138149/s
serial  9.543696s   109871/s    random  6.651000s   157657/s    cumulative 46.555503s   135139/s
serial 10.627035s    98671/s    random  6.555884s   159944/s    cumulative 63.738491s   131610/s
Shutdown  2.818513s
Total time 66.557042s for 8388608 insertions =   126036/s
$ ls -l sinsert.brt
-rwxrwxr-x 1 bradley bradley 396894480 Jan 22 11:45 sinsert.brt
}}}



git-svn-id: file:///svn/tokudb@1798 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 16:27:54 +00:00
..
checksum-benchmarks Up 2007-11-14 17:58:38 +00:00
locking-benchmarks Check interprocess pthread rwlocks o see if they work. Fixes #4 2007-11-19 22:01:16 +00:00
benchmark-test.c Quiet down some of the newbrt tests. Addresses #13. 2007-12-22 20:56:20 +00:00
brt-internal.h Don't be wasteful when splitting brt leaves. Fixes #294. 2008-01-22 16:27:54 +00:00
brt-serialize-test.c replace hashtables with fifos. addresses #249 2008-01-11 14:03:33 +00:00
brt-serialize.c Improve logging. Addresses #27. 2008-01-16 13:50:23 +00:00
brt-test.c first cut of delboth addresses #182 2008-01-02 20:33:51 +00:00
brt-verify.c replace hashtables with fifos. addresses #249 2008-01-11 14:03:33 +00:00
brt-XY.c Rename a bunch of symbols to toku_symbols. Addresses #8. 2007-11-29 15:09:14 +00:00
brt.c Don't be wasteful when splitting brt leaves. Fixes #294. 2008-01-22 16:27:54 +00:00
brt.h add Db::fd closes #231 2008-01-11 14:38:49 +00:00
brtdump.c Don't be wasteful when splitting brt leaves. Fixes #294. 2008-01-22 16:27:54 +00:00
brttypes.h add big ydb lock. addresses #7 2008-01-15 13:04:10 +00:00
cachetable-test.c Quiet down the newbrt tests. Addresses #13. 2007-12-22 23:12:40 +00:00
cachetable-test2.c Quiet down some of the newbrt tests. Addresses #13. 2007-12-22 20:56:20 +00:00
cachetable.c Get abort to run a little bit. Addresses #253. 2008-01-11 22:24:43 +00:00
cachetable.h Get abort to run a little bit. Addresses #253. 2008-01-11 22:24:43 +00:00
crc.h Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
fifo-test.c add fifo-test addresses #249 2008-01-11 22:18:39 +00:00
fifo.c add fifo-test addresses #249 2008-01-11 22:18:39 +00:00
fifo.h replace hashtables with fifos. addresses #249 2008-01-11 14:03:33 +00:00
fingerprint.c first cut of delboth addresses #182 2008-01-02 20:33:51 +00:00
hashfun.h Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
key.c Rename the last bunch of symbols to toku_symbols. Closes #8. 2007-11-29 18:14:40 +00:00
key.h Rename the last bunch of symbols to toku_symbols. Closes #8. 2007-11-29 18:14:40 +00:00
kv-pair.h Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
list-test.c add list-test. addresses #277 2008-01-18 15:26:17 +00:00
list.h Make an association of 2 secondaries to a primary work. Fixes #137. 2007-12-07 14:56:54 +00:00
lock.h Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
log-internal.h Get abort to run a little bit. Addresses #253. 2008-01-11 22:24:43 +00:00
log-test.c Rename the last bunch of symbols to toku_symbols. Closes #8. 2007-11-29 18:14:40 +00:00
log.c Get rid of calls to free. Should use toku_free. Fixes #275. 2008-01-15 20:15:06 +00:00
log.h Get abort to run a little bit. Addresses #253. 2008-01-11 22:24:43 +00:00
logformat.c Log block allocation. Addresses #27. 2008-01-18 21:28:27 +00:00
Makefile rollback for 5 now runs (but the files are wrong). Started working on a brtdump that will help debug this stuff. Right away I see important file differences after recover (the unused memory and unnamed root are wrong). Addresses #27. 2008-01-18 16:01:25 +00:00
memory.c mixing toku_malloc and malloc is not a problem. At least with BUFFERED_MALLOC not defined. Added a test, and a {{{#error}}} inside {{{memory.c}}}. Fixes #161. 2007-12-10 11:28:00 +00:00
memory.h Rename a bunch of symbols to toku_symbols. Addresses #8. 2007-11-29 15:41:46 +00:00
mempool.c Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
mempool.h Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
memtest.c Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
myassert.c Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
myassert.h Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
pma-internal.h Make some of the PMA fields be unsigned. 2007-12-05 19:41:39 +00:00
pma-test.c Don't be wasteful when splitting brt leaves. Fixes #294. 2008-01-22 16:27:54 +00:00
pma.c Don't be wasteful when splitting brt leaves. Fixes #294. 2008-01-22 16:27:54 +00:00
pma.h Don't be wasteful when splitting brt leaves. Fixes #294. 2008-01-22 16:27:54 +00:00
primes.c Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
primes.h Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
randdb4.c Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
rbuf.h Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
recover.c Reorganize how rollback and recovery are organized into files. Fixes #253. 2008-01-11 03:09:14 +00:00
roll.c Log block allocation. Addresses #27. 2008-01-18 21:28:27 +00:00
rwlock.c Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
tdb_logprint.c Rename a bunch of symbols to toku_symbols. Addresses #8. 2007-11-29 15:17:46 +00:00
test-primes.c add test-primes. addresses #277 2008-01-17 19:35:12 +00:00
test.h Quiet down some of the newbrt tests. Addresses #13. 2007-12-22 20:56:20 +00:00
test_oexcl.c Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00
test_toku_malloc_plain_free.c mixing toku_malloc and malloc is not a problem. At least with BUFFERED_MALLOC not defined. Added a test, and a {{{#error}}} inside {{{memory.c}}}. Fixes #161. 2007-12-10 11:28:00 +00:00
wbuf.h Log some pma movements. Addresses #27. 2007-12-04 10:02:59 +00:00
ybt-test.c Rename a bunch of symbols to toku_symbols. Addresses #8. 2007-11-29 15:34:49 +00:00
ybt.c DB_DBT_(MALLOC|REALOC|USERMEM) now behave the same as BDB. 2007-12-10 17:04:02 +00:00
ybt.h Rename a bunch of symbols to toku_symbols. Addresses #8. 2007-11-29 15:17:46 +00:00
yerror.h Add copyrights using #ident on the top of newbrt sources. Addresses #54. 2007-11-29 14:18:54 +00:00