summaryrefslogtreecommitdiff
path: root/doc/permdb-bench-results.txt
blob: 173dc5839ca33a0332295aeb54e4762920d4fc9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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)