summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2017-03-17 16:26:08 +0100
committerMagnus Ahltorp <map@kth.se>2017-03-17 16:26:08 +0100
commit1f8a9d4b67d46b14c3e76f883f621ce2823c3548 (patch)
tree8d0a0cf8396a7bd8aa57d1155cddb41f6259e9f6
parentba26ab03f3f4503633065df8a6dc85d2260735c7 (diff)
Random permdb benchmarkspermdb-bench-results
-rw-r--r--doc/permdb-bench-results.txt104
1 files changed, 104 insertions, 0 deletions
diff --git a/doc/permdb-bench-results.txt b/doc/permdb-bench-results.txt
new file mode 100644
index 0000000..173dc58
--- /dev/null
+++ b/doc/permdb-bench-results.txt
@@ -0,0 +1,104 @@
+Test pattern:
+ * Add entries
+ * Get all entries by key
+ * Stop permdb
+ * Start permdb
+ * Get all entries by key again (now from a freshly started system, i.e. empty caches)
+ * Stop permdb
+ * Remove index file
+ * Start permdb
+ * Get one entry (to measure the time it takes to rebuild the index)
+ * Get all entries
+
+All keys are 32 bytes.
+
+
+Size 200000 entries, chunks of 20000 entries, entry size 10000 bytes
+Add 200000 entries: 15.22s 13140.9 entries/s (76.10 microseconds)
+Get 200000 entries: 4.95s 40417.1 entries/s (24.74 microseconds)
+Get 200000 entries: 5.72s 34981.3 entries/s (28.59 microseconds)
+data file size 2008800636, index file size 14500776
+Rebuild 200000 entries: 8.59s 23291.2 entries/s (42.93 microseconds)
+Get 200000 entries: 5.30s 37733.3 entries/s (26.50 microseconds)
+rebuilt index file size 5780416
+
+total payload size: 200000*10000=2000000000 bytes (0.4% overhead, 44 bytes per entry, including key)
+index overhead: 0.7%, 73 bytes per entry
+rebuilt index overhead: 0.3%, 28 bytes per entry
+write 2000000000 bytes to file: 1.954177s (permdb = 7.8 times = 680% overhead)
+
+
+Size 200000 entries, chunks of 20000 entries, entry size 20000 bytes
+Add 200000 entries: 28.18s 7097.7 entries/s (140.89 microseconds)
+Get 200000 entries: 7.39s 27051.3 entries/s (36.97 microseconds)
+Get 200000 entries: 8.53s 23458.8 entries/s (42.63 microseconds)
+data file size 4008800636, index file size 14500776
+Rebuild 200000 entries: 16.35s 12233.3 entries/s (81.74 microseconds)
+Get 200000 entries: 5.72s 34991.2 entries/s (28.58 microseconds)
+rebuilt index file size 5780416
+
+total payload size: 200000*20000=4000000000 bytes (0.2% overhead, 44 bytes per entry, including key)
+index overhead: 0.4%, 73 bytes per entry
+rebuilt index overhead: 0.1%, 28 bytes per entry
+write 4000000000 bytes to file: 3.752839s (permdb = 7.8 times = 680% overhead)
+
+
+Size 200000 entries, chunks of 200000 entries, entry size 20000 bytes
+Add 200000 entries: 24.66s 8111.3 entries/s (123.29 microseconds)
+Get 200000 entries: 5.90s 33888.8 entries/s (29.51 microseconds)
+Get 200000 entries: 21.01s 9518.3 entries/s (105.06 microseconds)
+data file size 4008800132, index file size 5780504
+Rebuild 200000 entries: 16.22s 12332.2 entries/s (81.09 microseconds)
+Get 200000 entries: 6.02s 33197.3 entries/s (30.12 microseconds)
+rebuilt index file size 5780416
+
+write 4000000000 bytes to file: 3.752839s (permdb = 6.6 times = 560% overhead)
+
+
+
+Size 200000 entries, chunks of 20 entries, entry size 20000 bytes
+Init with 200000 entries: 0.27s
+Add 200000 entries: 30.60s 6536.0 entries/s (153.00 microseconds)
+Get 200000 entries: 7.09s 28202.8 entries/s (35.46 microseconds)
+Get 200000 entries: 6.08s 32917.7 entries/s (30.38 microseconds)
+data file size 4009360076, index file size 53664256
+Rebuild 200000 entries: 15.84s 12622.3 entries/s (79.22 microseconds)
+Get 200000 entries: 6.54s 30582.6 entries/s (32.70 microseconds)
+rebuilt index file size 5780416
+
+index overhead: 1.3%, 73 bytes per entry
+write 4000000000 bytes to file: 3.752839s (permdb = 8.2 times = 720% overhead)
+
+
+
+Size 200000 entries, chunks of 1 entries, entry size 20000 bytes
+Init with 200000 entries: 0.27s
+Add 200000 entries: 68.66s 2912.8 entries/s (343.31 microseconds)
+Get 200000 entries: 5.88s 34007.3 entries/s (29.41 microseconds)
+Get 200000 entries: 6.07s 32948.5 entries/s (30.35 microseconds)
+data file size 4020000076, index file size 81604896
+Rebuild 200000 entries: 16.41s 12189.5 entries/s (82.04 microseconds)
+Get 200000 entries: 5.59s 35794.2 entries/s (27.94 microseconds)
+rebuilt index file size 5780416
+
+total payload size: 200000*20000=4000000000 bytes (0.5% overhead, 100 bytes per entry, including key)
+index overhead: 2.0%, 408 bytes per entry
+write 4000000000 bytes to file: 3.752839s (permdb = 18 times = 1700% overhead)
+
+
+
+
+
+Size 200000 entries, chunks of 20000 entries, entry size 40000 bytes
+Add 200000 entries: 57.73s 3464.6 entries/s (288.63 microseconds)
+Get 200000 entries: 11.81s 16930.9 entries/s (59.06 microseconds)
+Get 200000 entries: 16.95s 11801.5 entries/s (84.73 microseconds)
+data file size 8008800636, index file size 14500776
+Rebuild 200000 entries: 45.55s 4390.4 entries/s (227.77 microseconds)
+Get 200000 entries: 10.03s 19935.5 entries/s (50.16 microseconds)
+rebuilt index file size 5780416
+
+total payload size: 200000*40000=8000000000 bytes (0.1% overhead, 44 bytes per entry, including key)
+index overhead: 0.2%, 73 bytes per entry
+rebuilt index overhead: 0.07%, 28 bytes per entry
+write 8000000000 bytes to file: 9.950331s (permdb = 5.8 times = 480% overhead)