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
Showing
Please register or sign in to comment