-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathadt_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-11T19:23:26+08:00
Running ./bin/adt_fast_umap
Run on (16 X 2593.91 MHz CPU s)
CPU Caches:
L1 Data 48 KiB (x16)
L1 Instruction 32 KiB (x16)
L2 Unified 1280 KiB (x16)
L3 Unified 43008 KiB (x16)
Load Average: 2.81, 1.08, 0.72
------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------------------------------------
BenchInsert<fast_vector_map<uint64_t, Pod>>/1 81.0 ns 79.0 ns 8552673
BenchInsert<fast_vector_map<uint64_t, Pod>>/8 619 ns 310 ns 2241728
BenchInsert<fast_vector_map<uint64_t, Pod>>/64 5428 ns 2688 ns 260502
BenchInsert<fast_vector_map<uint64_t, Pod>>/512 43452 ns 22627 ns 31065
BenchInsert<fast_vector_map<uint64_t, Pod>>/1024 91847 ns 48168 ns 14693
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/1 193 ns 96.7 ns 7207436
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/8 487 ns 403 ns 1770886
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/64 7137 ns 3581 ns 196245
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/512 67452 ns 33285 ns 21419
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/1024 151749 ns 81487 ns 8682
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/1 93.7 ns 87.0 ns 8229842
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/8 363 ns 318 ns 2205932
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/64 2988 ns 2764 ns 254068
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/512 48731 ns 24585 ns 28309
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/1024 139798 ns 69920 ns 9864
BenchInsert<std::unordered_map<uint64_t, Pod>>/1 322 ns 172 ns 4048676
BenchInsert<std::unordered_map<uint64_t, Pod>>/8 1095 ns 625 ns 1094478
BenchInsert<std::unordered_map<uint64_t, Pod>>/64 5052 ns 4400 ns 159441
BenchInsert<std::unordered_map<uint64_t, Pod>>/512 41144 ns 34777 ns 20208
BenchInsert<std::unordered_map<uint64_t, Pod>>/1024 145292 ns 73814 ns 9530
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/1 104 ns 59.1 ns 11629592
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/8 204 ns 200 ns 3510567
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/64 1951 ns 1951 ns 356875
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/512 20436 ns 17116 ns 41140
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/1024 55446 ns 54183 ns 12825
BenchInsert<tsl::robin_map<uint64_t, Pod>>/1 170 ns 97.5 ns 7209409
BenchInsert<tsl::robin_map<uint64_t, Pod>>/8 450 ns 434 ns 1608011
BenchInsert<tsl::robin_map<uint64_t, Pod>>/64 4182 ns 3871 ns 180938
BenchInsert<tsl::robin_map<uint64_t, Pod>>/512 34341 ns 34322 ns 20358
BenchInsert<tsl::robin_map<uint64_t, Pod>>/1024 89804 ns 89678 ns 7967
BenchInsert<llvm::MapVector<uint64_t, Pod>>/1 127 ns 127 ns 5536498
BenchInsert<llvm::MapVector<uint64_t, Pod>>/8 325 ns 325 ns 2165646
BenchInsert<llvm::MapVector<uint64_t, Pod>>/64 2849 ns 2847 ns 248730
BenchInsert<llvm::MapVector<uint64_t, Pod>>/512 22055 ns 22042 ns 31716
BenchInsert<llvm::MapVector<uint64_t, Pod>>/1024 49999 ns 46781 ns 15089
BenchFind<fast_vector_map<uint64_t, Pod>>/1 3.58 ns 3.57 ns 195637747
BenchFind<fast_vector_map<uint64_t, Pod>>/8 4.22 ns 4.22 ns 166199181
BenchFind<fast_vector_map<uint64_t, Pod>>/64 4.33 ns 4.33 ns 160366192
BenchFind<fast_vector_map<uint64_t, Pod>>/512 4.51 ns 4.51 ns 150423392
BenchFind<fast_vector_map<uint64_t, Pod>>/1024 4.66 ns 4.65 ns 149781554
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/1 8.62 ns 8.61 ns 81246415
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/8 9.82 ns 9.82 ns 66829955
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/64 11.4 ns 11.4 ns 59205574
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/512 12.0 ns 12.0 ns 55188465
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/1024 13.6 ns 13.5 ns 54220296
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/1 8.64 ns 8.63 ns 80869179
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/8 8.24 ns 8.24 ns 83004249
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/64 8.54 ns 8.54 ns 79984771
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/512 9.79 ns 9.78 ns 75519454
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/1024 9.58 ns 9.58 ns 73884631
BenchFind<std::unordered_map<uint64_t, Pod>>/1 9.29 ns 9.29 ns 75296421
BenchFind<std::unordered_map<uint64_t, Pod>>/8 12.9 ns 12.9 ns 49452406
BenchFind<std::unordered_map<uint64_t, Pod>>/64 15.5 ns 15.5 ns 44708685
BenchFind<std::unordered_map<uint64_t, Pod>>/512 16.0 ns 16.0 ns 43219591
BenchFind<std::unordered_map<uint64_t, Pod>>/1024 17.7 ns 17.7 ns 36635852
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/1 4.34 ns 3.68 ns 193790624
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/8 4.49 ns 4.48 ns 152717614
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/64 4.93 ns 4.16 ns 168427796
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/512 4.89 ns 4.44 ns 156557829
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/1024 4.46 ns 4.45 ns 155317404
BenchFind<tsl::robin_map<uint64_t, Pod>>/1 9.26 ns 9.26 ns 75486176
BenchFind<tsl::robin_map<uint64_t, Pod>>/8 11.7 ns 9.94 ns 70043432
BenchFind<tsl::robin_map<uint64_t, Pod>>/64 10.6 ns 10.5 ns 61084434
BenchFind<tsl::robin_map<uint64_t, Pod>>/512 13.4 ns 13.4 ns 54329824
BenchFind<tsl::robin_map<uint64_t, Pod>>/1024 14.1 ns 14.1 ns 50791379
BenchFind<llvm::MapVector<uint64_t, Pod>>/1 3.05 ns 2.75 ns 253230353
BenchFind<llvm::MapVector<uint64_t, Pod>>/8 4.39 ns 4.39 ns 159276772
BenchFind<llvm::MapVector<uint64_t, Pod>>/64 14.6 ns 13.3 ns 52524103
BenchFind<llvm::MapVector<uint64_t, Pod>>/512 19.6 ns 13.7 ns 51830331
BenchFind<llvm::MapVector<uint64_t, Pod>>/1024 25.4 ns 13.5 ns 51830885
BenchRange<fast_vector_map<uint64_t, Pod>>/1 1.04 ns 0.906 ns 781074912
BenchRange<fast_vector_map<uint64_t, Pod>>/8 4.53 ns 4.53 ns 155132492
BenchRange<fast_vector_map<uint64_t, Pod>>/64 14.3 ns 14.3 ns 48653781
BenchRange<fast_vector_map<uint64_t, Pod>>/512 163 ns 163 ns 4306989
BenchRange<fast_vector_map<uint64_t, Pod>>/1024 505 ns 505 ns 1386679
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/1 3.15 ns 3.15 ns 185390779
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/8 15.1 ns 15.1 ns 45803584
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/64 103 ns 103 ns 6188672
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/512 934 ns 934 ns 744148
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/1024 1883 ns 1883 ns 369331
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/1 3.08 ns 3.08 ns 227870587
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/8 17.3 ns 17.3 ns 39603484
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/64 135 ns 135 ns 5088856
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/512 1114 ns 1114 ns 636969
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/1024 2240 ns 2236 ns 313790
BenchRange<std::unordered_map<uint64_t, Pod>>/1 0.413 ns 0.413 ns 1000000000
BenchRange<std::unordered_map<uint64_t, Pod>>/8 2.94 ns 2.94 ns 235226685
BenchRange<std::unordered_map<uint64_t, Pod>>/64 66.1 ns 66.1 ns 10517480
BenchRange<std::unordered_map<uint64_t, Pod>>/512 1546 ns 1546 ns 446214
BenchRange<std::unordered_map<uint64_t, Pod>>/1024 6347 ns 6347 ns 109706
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/1 0.896 ns 0.895 ns 781855711
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/8 11.4 ns 11.4 ns 97962265
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/64 147 ns 146 ns 4590503
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/512 1308 ns 1308 ns 473679
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/1024 2799 ns 2799 ns 238697
BenchRange<tsl::robin_map<uint64_t, Pod>>/1 1.83 ns 1.83 ns 337004966
BenchRange<tsl::robin_map<uint64_t, Pod>>/8 13.6 ns 13.6 ns 48041730
BenchRange<tsl::robin_map<uint64_t, Pod>>/64 113 ns 113 ns 6534694
BenchRange<tsl::robin_map<uint64_t, Pod>>/512 1415 ns 1415 ns 498688
BenchRange<tsl::robin_map<uint64_t, Pod>>/1024 2809 ns 2809 ns 248695
BenchRange<llvm::MapVector<uint64_t, Pod>>/1 0.893 ns 0.893 ns 787944769
BenchRange<llvm::MapVector<uint64_t, Pod>>/8 4.58 ns 4.58 ns 154010622
BenchRange<llvm::MapVector<uint64_t, Pod>>/64 14.2 ns 14.2 ns 48311550
BenchRange<llvm::MapVector<uint64_t, Pod>>/512 162 ns 162 ns 4309537
BenchRange<llvm::MapVector<uint64_t, Pod>>/1024 505 ns 505 ns 1386682
BenchErase<fast_vector_map<uint64_t, Pod>>/1 4.68 ns 4.68 ns 149758786
BenchErase<fast_vector_map<uint64_t, Pod>>/8 5.49 ns 5.49 ns 125802768
BenchErase<fast_vector_map<uint64_t, Pod>>/64 5.64 ns 5.64 ns 123518763
BenchErase<fast_vector_map<uint64_t, Pod>>/512 6.36 ns 6.36 ns 108663630
BenchErase<fast_vector_map<uint64_t, Pod>>/1024 7.29 ns 7.29 ns 96475789
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/1 9.09 ns 9.09 ns 75887149
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/8 10.7 ns 10.7 ns 65167509
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/64 12.0 ns 12.0 ns 67547348
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/512 13.5 ns 13.5 ns 52707685
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/1024 14.5 ns 14.5 ns 49760311
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/1 7.85 ns 7.85 ns 89152832
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/8 7.01 ns 7.01 ns 92370060
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/64 7.98 ns 7.98 ns 87409077
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/512 8.74 ns 8.74 ns 79395051
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/1024 9.64 ns 9.64 ns 72940604
BenchErase<std::unordered_map<uint64_t, Pod>>/1 12.0 ns 12.0 ns 59310558
BenchErase<std::unordered_map<uint64_t, Pod>>/8 16.5 ns 16.5 ns 48801534
BenchErase<std::unordered_map<uint64_t, Pod>>/64 19.0 ns 19.0 ns 38837035
BenchErase<std::unordered_map<uint64_t, Pod>>/512 20.3 ns 20.3 ns 33232557
BenchErase<std::unordered_map<uint64_t, Pod>>/1024 22.6 ns 22.6 ns 30635629
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/1 3.23 ns 3.23 ns 215184260
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/8 4.25 ns 4.25 ns 172327998
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/64 3.98 ns 3.98 ns 176005346
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/512 4.99 ns 4.41 ns 163177095
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/1024 4.67 ns 4.66 ns 148847601
BenchErase<tsl::robin_map<uint64_t, Pod>>/1 10.4 ns 9.90 ns 71181717
BenchErase<tsl::robin_map<uint64_t, Pod>>/8 10.5 ns 10.5 ns 62323371
BenchErase<tsl::robin_map<uint64_t, Pod>>/64 12.9 ns 12.9 ns 59099569
BenchErase<tsl::robin_map<uint64_t, Pod>>/512 14.3 ns 14.3 ns 49138213
BenchErase<tsl::robin_map<uint64_t, Pod>>/1024 17.0 ns 17.0 ns 41106189
BenchErase<llvm::MapVector<uint64_t, Pod>>/1 2.72 ns 2.72 ns 256493909
BenchErase<llvm::MapVector<uint64_t, Pod>>/8 4.78 ns 4.39 ns 164283975
BenchErase<llvm::MapVector<uint64_t, Pod>>/64 15.2 ns 13.6 ns 48701756
BenchErase<llvm::MapVector<uint64_t, Pod>>/512 71.3 ns 71.3 ns 9864445
BenchErase<llvm::MapVector<uint64_t, Pod>>/1024 281 ns 269 ns 2579819