Hey all, Just to give you an update on what is going on that branch, here a few facts and numbers. Bottom line is that there is still a lot to do but the basic assumptions proved correct and significant benefits can already be demonstrated.
* about 20% of the coding is done so far * some core features implemented: logical addressing, reorg upon pack, block read * format 7 repos are ~3x faster due to reduced I/O * format 6 repos get faster by ~10% * format 7 performance hit by cache inefficiency; will be addressed by 'container' objects plus a change in the membuffer implementation * on-disk format still in the flux and will remain so for a while Tests were run against a local copy of the TSVN repo with revprop compression, directory deltification and property deltification enabled to bring format 6 structurally as close to format 7 defaults as possible. All values are given in user-time triples for trunk@1446787 on format 6, fsfs-format7@1446862 on format 6 and format 7. "hot" runs mean "from OS cache"; svnserve was restarted before every test run. $ time svnadmin verify -M 4000 -q $repo medium trunk / branch6 / branch7 USB cold 270.5s / 246.3s / 104.4s = 1.00 : 1.10 : 2.59 USB hot 248.0s / 191.0s / 60.8s = 1.00 : 1.30 : 4.08 SSD cold 66.1s / 62.0s / 59.4s = 1.00 : 1.07 : 1.11 SSD hot 63.2s / 60.0s / 57.1s = 1.00 : 1.05 : 1.11 $ time svnbench null-export svn://localhost/tsvn/trunk -q USB cold 44.29s / 39.63s / 16.24s = 1.00 : 1.12 : 2.73 USB hot 10.68s / 10.25s / 3.78s = 1.00 : 1.04 : 2.83 SSD cold 5.72s / 5.00s / 3.75s = 1.00 : 1.14 : 1.53 SSD hot 2.37s / 2.38s / 3.21s = 1.00 : 1.00 : 0.74 $ time svnbench null-log svn://localhost/tsvn/trunk -v -q USB cold 54.36s / 50.17s / 8.73s = 1.00 : 1.06 : 6.11 USB hot 43.64s / 36.46s / 3.52s = 1.00 : 1.20 :12.40 SSD cold 9.32s / 10.60s / 3.22s = 1.00 : 0.88 : 2.89 SSD hot 2.36s / 2.28s / 2.88s = 1.00 : 1.04 : 0.82 $ time svnbench null-log svn://localhost/tsvn/trunk -v -g -q USB cold 98.02s / 87.01s / 23.74s = 1.00 : 1.13 : 4.13 USB hot 69.88s / 57.14s / 7.88s = 1.00 : 1.22 : 8.87 SSD cold 8.35s / 10.50s / 8.16s = 1.00 : 0.80 : 1.02 SSD hot 5.94s / 5.72s / 6.39s = 1.00 : 1.04 : 0.93 Tests have been conducted with maximum optimization: ./configure --disable-shared --disable-debug --enable-optimize \ --without-berkeley-db -without-serf CUSERFLAGS='-march=native' Svnserve configuration: svnserve -dTr $repos -c 0 -M 1000 --client-speed 100 --foreground \ --cache-txdeltas yes --cache-fulltexts yes --cache-revprops yes Machine: Core2 Duo 2.4Ghz, 8GB RAM, Ubuntu 12.04, 64 bit, SMP 128GB SSD built-in, ext4 320GB USB2 HDD external, NTFS -- Stefan^2. -- Certified & Supported Apache Subversion Downloads: * http://www.wandisco.com/subversion/download *