syncthing/lib/db
Jakob Borg 918ef4dff8 Use batches in blockmap, speeds up and reduces memory usage on large Replace and Update ops
benchmark                         old ns/op      new ns/op      delta
BenchmarkReplaceAll-8             2880834572     1868198122     -35.15%
BenchmarkUpdateOneChanged-8       236596         231852         -2.01%
BenchmarkUpdateOneUnchanged-8     227326         230624         +1.45%
BenchmarkNeedHalf-8               105151538      104601744      -0.52%
BenchmarkHave-8                   28827492       29102480       +0.95%
BenchmarkGlobal-8                 150768724      150547687      -0.15%
BenchmarkNeedHalfTruncated-8      104434216      102471355      -1.88%
BenchmarkHaveTruncated-8          27860093       28758368       +3.22%
BenchmarkGlobalTruncated-8        149972888      151192913      +0.81%

benchmark                         old allocs     new allocs     delta
BenchmarkReplaceAll-8             555451         555577         +0.02%
BenchmarkUpdateOneChanged-8       1135           1135           +0.00%
BenchmarkUpdateOneUnchanged-8     1135           1135           +0.00%
BenchmarkNeedHalf-8               374779         374780         +0.00%
BenchmarkHave-8                   151996         151992         -0.00%
BenchmarkGlobal-8                 530066         530033         -0.01%
BenchmarkNeedHalfTruncated-8      374702         374699         -0.00%
BenchmarkHaveTruncated-8          151834         151834         +0.00%
BenchmarkGlobalTruncated-8        530049         530037         -0.00%

benchmark                         old bytes      new bytes      delta
BenchmarkReplaceAll-8             5018351912     1765116216     -64.83%
BenchmarkUpdateOneChanged-8       135085         135085         +0.00%
BenchmarkUpdateOneUnchanged-8     134976         134976         +0.00%
BenchmarkNeedHalf-8               44769400       44758752       -0.02%
BenchmarkHave-8                   11930612       11845052       -0.72%
BenchmarkGlobal-8                 81523668       80431136       -1.34%
BenchmarkNeedHalfTruncated-8      46692342       46526459       -0.36%
BenchmarkHaveTruncated-8          11348357       11348357       +0.00%
BenchmarkGlobalTruncated-8        81843956       80977672       -1.06%
2015-10-21 23:05:23 +02:00
..
testdata mv internal lib 2015-08-09 09:35:26 +02:00
.gitignore mv internal lib 2015-08-09 09:35:26 +02:00
benchmark_test.go Make benchmarks more realistic 2015-10-21 23:04:29 +02:00
blockmap_test.go Fix import paths 2015-09-22 19:38:46 +02:00
blockmap.go Use batches in blockmap, speeds up and reduces memory usage on large Replace and Update ops 2015-10-21 23:05:23 +02:00
concurrency_test.go mv internal lib 2015-08-09 09:35:26 +02:00
debug.go Implement facility based logger, debugging via REST API 2015-10-03 18:09:53 +02:00
leveldb_test.go mv internal lib 2015-08-09 09:35:26 +02:00
leveldb_xdr.go mv internal lib 2015-08-09 09:35:26 +02:00
leveldb.go The GC runs are legacy and slows things down quite a bit 2015-10-21 23:05:22 +02:00
namespaced_test.go mv internal lib 2015-08-09 09:35:26 +02:00
namespaced.go mv internal lib 2015-08-09 09:35:26 +02:00
set_test.go Make benchmarks more realistic 2015-10-21 23:04:29 +02:00
set.go Also keep GlobalSize in RAM 2015-10-21 21:58:48 +02:00
truncated.go Fix import paths 2015-09-22 19:38:46 +02:00
virtualmtime_test.go mv internal lib 2015-08-09 09:35:26 +02:00
virtualmtime.go Implement facility based logger, debugging via REST API 2015-10-03 18:09:53 +02:00