As of r1224839, FSFS now supports directory deltification. Please review the changes and run tests against different repositories so that we get a better idea of what the costs and benefits are. As soon as I'm back home, I will run tests against the Apache and KDE repositories.
So far, I ran tests against the rather small TSVN repository. It seems that we get 50% more capacity / 33% size savings for 0 .. 20% CPU overhead. The savings should be more significant on larger repositories and some of the extra overhead should be removed by the file handle caching code - once merged into /trunk. In any case, we are still much faster than 1.6. Detailed results can be found in the attached document. "/trunk" is at r1224828 (i.e. without deltification tuning. -- Stefan^2.
Ubuntu 11.10, 64 bit (ssd), packed repository repository size 1.6.12 414.9MB (100%) trunk 414.9MB (100%) trunk+diff 275.9MB ( 66%) svnadmin load -q (4.3GB non-deltified dump file) 1.6.12 5m25.625s (156%) trunk 3m29.225s (100%) trunk -M1000 3m 1.455s ( 87%) trunk+diff 4m 1.313s (115%) trunk+diff -M1000 3m23.496s ( 97%) svnadmin verify -q 1.6.12 68m21.244s (3877%) trunk 1m45.786s (100%) trunk -M1000 1m18.207s ( 74%) trunk+diff 2m10.199s (123%) trunk+diff -M1000 1m36.188s ( 91%) svnserve -dT (addtional flags for trunk: -c0) svn export svn://localhost/repo/trunk -q --ignore-externals (cold) (85MB, 3840 items) 1.6.12 18.223s (883%) trunk 2.063s (100%) trunk -M1000 2.888s (140%) trunk+diff 2.607s (126%) trunk+diff -M1000 2.691s (130%) svn export svn://localhost/repo/trunk -q --ignore-externals (hot) 1.6.12 17.743s (841%) trunk 2.111s (100%) trunk -M1000 0.901s ( 43%) trunk+diff 2.412s (114%) trunk+diff -M1000 0.994s ( 47%) svn ls svn://localhost/repo/tags (cold) (accuracy +/- 2ms) 1.6.12 66ms (125%) trunk 53ms (100%) trunk -M1000 128ms (242%) trunk+diff 52ms ( 98%) trunk+diff -M1000 123ms (232%) svn ls svn://localhost/repo/tags (hot) (accuracy +/- 2ms) 1.6.12 66ms (140%) trunk 47ms (100%) trunk -M1000 49ms (104%) trunk+diff 45ms ( 96%) trunk+diff -M1000 47ms (100%)