-
Notifications
You must be signed in to change notification settings - Fork 0
/
adt_fast_umap.txt
152 lines (152 loc) · 13.8 KB
/
adt_fast_umap.txt
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
2022-11-11T21:48:40+08:00
Running ./bin/adt_fast_umap
Run on (8 X 2294.61 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x8)
L1 Instruction 32 KiB (x8)
L2 Unified 1024 KiB (x8)
L3 Unified 22528 KiB (x2)
Load Average: 8.26, 5.30, 4.03
------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------------------------------------
BenchInsert<fast_vector_map<uint64_t, Pod>>/1 149 ns 149 ns 4259387
BenchInsert<fast_vector_map<uint64_t, Pod>>/8 592 ns 591 ns 1180990
BenchInsert<fast_vector_map<uint64_t, Pod>>/64 4612 ns 4610 ns 149665
BenchInsert<fast_vector_map<uint64_t, Pod>>/512 36702 ns 36689 ns 19331
BenchInsert<fast_vector_map<uint64_t, Pod>>/1024 81515 ns 81204 ns 8460
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/1 148 ns 148 ns 4569000
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/8 543 ns 542 ns 1289126
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/64 4956 ns 4940 ns 141631
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/512 45959 ns 45880 ns 14882
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/1024 120459 ns 120087 ns 5817
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/1 140 ns 140 ns 5028154
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/8 571 ns 568 ns 1234014
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/64 5089 ns 5066 ns 138374
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/512 46182 ns 46125 ns 15059
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/1024 120352 ns 119628 ns 5883
BenchInsert<std::unordered_map<uint64_t, Pod>>/1 151 ns 150 ns 4668424
BenchInsert<std::unordered_map<uint64_t, Pod>>/8 1040 ns 1040 ns 673202
BenchInsert<std::unordered_map<uint64_t, Pod>>/64 7906 ns 7903 ns 89707
BenchInsert<std::unordered_map<uint64_t, Pod>>/512 62171 ns 62132 ns 11193
BenchInsert<std::unordered_map<uint64_t, Pod>>/1024 137523 ns 137436 ns 5106
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/1 106 ns 106 ns 6596480
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/8 435 ns 434 ns 1607417
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/64 3944 ns 3940 ns 177424
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/512 35511 ns 35460 ns 19694
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/1024 97914 ns 97752 ns 7168
BenchInsert<tsl::robin_map<uint64_t, Pod>>/1 156 ns 155 ns 4578382
BenchInsert<tsl::robin_map<uint64_t, Pod>>/8 596 ns 594 ns 1177245
BenchInsert<tsl::robin_map<uint64_t, Pod>>/64 5233 ns 5216 ns 134273
BenchInsert<tsl::robin_map<uint64_t, Pod>>/512 48600 ns 48403 ns 14549
BenchInsert<tsl::robin_map<uint64_t, Pod>>/1024 124702 ns 123964 ns 5686
BenchInsert<llvm::MapVector<uint64_t, Pod>>/1 196 ns 195 ns 3595432
BenchInsert<llvm::MapVector<uint64_t, Pod>>/8 607 ns 604 ns 1174911
BenchInsert<llvm::MapVector<uint64_t, Pod>>/64 4624 ns 4599 ns 153792
BenchInsert<llvm::MapVector<uint64_t, Pod>>/512 36337 ns 36186 ns 19414
BenchInsert<llvm::MapVector<uint64_t, Pod>>/1024 78321 ns 78207 ns 8952
BenchFind<fast_vector_map<uint64_t, Pod>>/1 5.06 ns 5.05 ns 139691037
BenchFind<fast_vector_map<uint64_t, Pod>>/8 5.91 ns 5.90 ns 121415068
BenchFind<fast_vector_map<uint64_t, Pod>>/64 5.93 ns 5.92 ns 109824250
BenchFind<fast_vector_map<uint64_t, Pod>>/512 6.12 ns 6.11 ns 115197964
BenchFind<fast_vector_map<uint64_t, Pod>>/1024 6.35 ns 6.34 ns 112723102
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/1 11.5 ns 11.5 ns 61115269
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/8 12.3 ns 12.3 ns 56947428
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/64 13.4 ns 13.4 ns 52704918
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/512 17.2 ns 17.2 ns 40338390
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/1024 18.8 ns 18.7 ns 36588083
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/1 10.5 ns 10.5 ns 66678147
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/8 10.9 ns 10.8 ns 63967299
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/64 10.9 ns 10.8 ns 64593350
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/512 12.0 ns 11.9 ns 58922961
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/1024 12.4 ns 12.3 ns 56833919
BenchFind<std::unordered_map<uint64_t, Pod>>/1 14.6 ns 14.6 ns 47991756
BenchFind<std::unordered_map<uint64_t, Pod>>/8 21.8 ns 21.8 ns 32417838
BenchFind<std::unordered_map<uint64_t, Pod>>/64 24.4 ns 24.4 ns 26318079
BenchFind<std::unordered_map<uint64_t, Pod>>/512 26.5 ns 26.5 ns 26111571
BenchFind<std::unordered_map<uint64_t, Pod>>/1024 30.0 ns 29.9 ns 23331254
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/1 4.85 ns 4.85 ns 144642129
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/8 5.74 ns 5.73 ns 122436304
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/64 6.13 ns 5.81 ns 121054813
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/512 6.07 ns 6.06 ns 115960168
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/1024 6.13 ns 6.13 ns 112433547
BenchFind<tsl::robin_map<uint64_t, Pod>>/1 9.59 ns 9.58 ns 72943093
BenchFind<tsl::robin_map<uint64_t, Pod>>/8 11.9 ns 11.9 ns 63152433
BenchFind<tsl::robin_map<uint64_t, Pod>>/64 12.9 ns 12.9 ns 57813007
BenchFind<tsl::robin_map<uint64_t, Pod>>/512 14.4 ns 14.4 ns 45799810
BenchFind<tsl::robin_map<uint64_t, Pod>>/1024 15.1 ns 15.0 ns 45422972
BenchFind<llvm::MapVector<uint64_t, Pod>>/1 3.86 ns 3.86 ns 181317538
BenchFind<llvm::MapVector<uint64_t, Pod>>/8 5.81 ns 5.80 ns 124513822
BenchFind<llvm::MapVector<uint64_t, Pod>>/64 16.5 ns 16.4 ns 44183289
BenchFind<llvm::MapVector<uint64_t, Pod>>/512 16.6 ns 16.6 ns 41932360
BenchFind<llvm::MapVector<uint64_t, Pod>>/1024 16.4 ns 16.4 ns 42892916
BenchRange<fast_vector_map<uint64_t, Pod>>/1 1.09 ns 1.09 ns 634658724
BenchRange<fast_vector_map<uint64_t, Pod>>/8 4.76 ns 4.76 ns 148868954
BenchRange<fast_vector_map<uint64_t, Pod>>/64 28.7 ns 28.7 ns 24371903
BenchRange<fast_vector_map<uint64_t, Pod>>/512 215 ns 215 ns 3260125
BenchRange<fast_vector_map<uint64_t, Pod>>/1024 619 ns 619 ns 1134038
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/1 3.52 ns 3.52 ns 199432016
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/8 14.2 ns 14.2 ns 43281204
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/64 116 ns 116 ns 6557750
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/512 3708 ns 3706 ns 179240
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/1024 9141 ns 9129 ns 80514
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/1 3.24 ns 3.23 ns 216816095
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/8 20.5 ns 20.5 ns 34195611
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/64 160 ns 160 ns 4300883
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/512 1374 ns 1372 ns 491424
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/1024 2957 ns 2955 ns 235072
BenchRange<std::unordered_map<uint64_t, Pod>>/1 0.725 ns 0.725 ns 982586890
BenchRange<std::unordered_map<uint64_t, Pod>>/8 4.52 ns 4.51 ns 155334627
BenchRange<std::unordered_map<uint64_t, Pod>>/64 73.9 ns 73.8 ns 9494214
BenchRange<std::unordered_map<uint64_t, Pod>>/512 3979 ns 3975 ns 179255
BenchRange<std::unordered_map<uint64_t, Pod>>/1024 8381 ns 8374 ns 84125
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/1 1.46 ns 1.46 ns 478625089
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/8 17.1 ns 17.1 ns 56935883
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/64 197 ns 197 ns 3843961
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/512 1716 ns 1715 ns 407205
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/1024 3379 ns 3375 ns 194956
BenchRange<tsl::robin_map<uint64_t, Pod>>/1 2.53 ns 2.53 ns 277779065
BenchRange<tsl::robin_map<uint64_t, Pod>>/8 15.5 ns 15.5 ns 45328987
BenchRange<tsl::robin_map<uint64_t, Pod>>/64 109 ns 109 ns 6407425
BenchRange<tsl::robin_map<uint64_t, Pod>>/512 1475 ns 1472 ns 488814
BenchRange<tsl::robin_map<uint64_t, Pod>>/1024 3002 ns 2990 ns 231762
BenchRange<llvm::MapVector<uint64_t, Pod>>/1 1.81 ns 1.80 ns 389933319
BenchRange<llvm::MapVector<uint64_t, Pod>>/8 3.98 ns 3.97 ns 175794042
BenchRange<llvm::MapVector<uint64_t, Pod>>/64 28.8 ns 28.8 ns 24346150
BenchRange<llvm::MapVector<uint64_t, Pod>>/512 217 ns 216 ns 3228971
BenchRange<llvm::MapVector<uint64_t, Pod>>/1024 619 ns 618 ns 1134286
BenchErase<fast_vector_map<uint64_t, Pod>>/1 8.14 ns 8.13 ns 85424430
BenchErase<fast_vector_map<uint64_t, Pod>>/8 9.20 ns 9.19 ns 74337952
BenchErase<fast_vector_map<uint64_t, Pod>>/64 9.35 ns 9.34 ns 67283427
BenchErase<fast_vector_map<uint64_t, Pod>>/512 10.7 ns 10.6 ns 64854052
BenchErase<fast_vector_map<uint64_t, Pod>>/1024 11.7 ns 11.7 ns 59881701
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/1 12.0 ns 12.0 ns 58358857
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/8 14.1 ns 14.1 ns 51529154
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/64 14.6 ns 14.5 ns 49240612
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/512 18.9 ns 18.9 ns 36990942
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/1024 20.3 ns 20.3 ns 34639975
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/1 11.0 ns 11.0 ns 63636627
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/8 11.6 ns 11.3 ns 62739585
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/64 11.4 ns 11.4 ns 61857223
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/512 13.0 ns 13.0 ns 53616852
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/1024 14.3 ns 14.3 ns 49229354
BenchErase<std::unordered_map<uint64_t, Pod>>/1 15.0 ns 15.0 ns 46249730
BenchErase<std::unordered_map<uint64_t, Pod>>/8 21.1 ns 18.2 ns 45022048
BenchErase<std::unordered_map<uint64_t, Pod>>/64 23.9 ns 22.9 ns 25763183
BenchErase<std::unordered_map<uint64_t, Pod>>/512 32.1 ns 30.5 ns 22218137
BenchErase<std::unordered_map<uint64_t, Pod>>/1024 41.5 ns 34.8 ns 20599271
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/1 6.63 ns 4.49 ns 155736549
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/8 6.57 ns 5.27 ns 127327793
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/64 5.80 ns 5.38 ns 130160240
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/512 7.27 ns 6.08 ns 115576060
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/1024 7.53 ns 7.00 ns 91936110
BenchErase<tsl::robin_map<uint64_t, Pod>>/1 13.1 ns 12.5 ns 56155948
BenchErase<tsl::robin_map<uint64_t, Pod>>/8 15.7 ns 14.9 ns 52585832
BenchErase<tsl::robin_map<uint64_t, Pod>>/64 16.4 ns 15.9 ns 46442716
BenchErase<tsl::robin_map<uint64_t, Pod>>/512 18.7 ns 18.6 ns 36537601
BenchErase<tsl::robin_map<uint64_t, Pod>>/1024 21.5 ns 21.2 ns 32887832
BenchErase<llvm::MapVector<uint64_t, Pod>>/1 3.71 ns 3.66 ns 191074157
BenchErase<llvm::MapVector<uint64_t, Pod>>/8 5.14 ns 5.08 ns 133079848
BenchErase<llvm::MapVector<uint64_t, Pod>>/64 16.8 ns 16.6 ns 41579462
BenchErase<llvm::MapVector<uint64_t, Pod>>/512 98.9 ns 97.1 ns 7267295
BenchErase<llvm::MapVector<uint64_t, Pod>>/1024 393 ns 383 ns 1811259