From 1f8a9d4b67d46b14c3e76f883f621ce2823c3548 Mon Sep 17 00:00:00 2001 From: Magnus Ahltorp Date: Fri, 17 Mar 2017 16:26:08 +0100 Subject: Random permdb benchmarks --- doc/permdb-bench-results.txt | 104 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 doc/permdb-bench-results.txt 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) -- cgit v1.1