-
Notifications
You must be signed in to change notification settings - Fork 0
/
adt_fast_umap.txt
152 lines (152 loc) · 13.9 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-12T16:56:08+08:00
Running ./bin/adt_fast_umap
Run on (8 X 2400 MHz CPU s)
CPU Caches:
L1 Data 64 KiB (x8)
L1 Instruction 64 KiB (x8)
L2 Unified 512 KiB (x8)
L3 Unified 32768 KiB (x1)
Load Average: 6.06, 6.38, 5.21
------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------------------------------------
BenchInsert<fast_vector_map<uint64_t, Pod>>/1 264 ns 264 ns 2643271
BenchInsert<fast_vector_map<uint64_t, Pod>>/8 1271 ns 1271 ns 551008
BenchInsert<fast_vector_map<uint64_t, Pod>>/64 9531 ns 9531 ns 73404
BenchInsert<fast_vector_map<uint64_t, Pod>>/512 88001 ns 87999 ns 8061
BenchInsert<fast_vector_map<uint64_t, Pod>>/1024 189311 ns 189310 ns 3703
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/1 232 ns 232 ns 3001006
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/8 1046 ns 1046 ns 669785
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/64 8640 ns 8640 ns 81132
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/512 93852 ns 93848 ns 7422
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/1024 208999 ns 208996 ns 3347
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/1 201 ns 201 ns 3485768
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/8 957 ns 957 ns 729398
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/64 7768 ns 7768 ns 90431
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/512 83548 ns 83547 ns 8370
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/1024 183690 ns 183690 ns 3810
BenchInsert<std::unordered_map<uint64_t, Pod>>/1 288 ns 288 ns 2431227
BenchInsert<std::unordered_map<uint64_t, Pod>>/8 1467 ns 1467 ns 476907
BenchInsert<std::unordered_map<uint64_t, Pod>>/64 10235 ns 10235 ns 68329
BenchInsert<std::unordered_map<uint64_t, Pod>>/512 112444 ns 112444 ns 6198
BenchInsert<std::unordered_map<uint64_t, Pod>>/1024 276977 ns 276970 ns 2526
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/1 154 ns 154 ns 4551720
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/8 861 ns 861 ns 808558
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/64 6968 ns 6968 ns 101100
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/512 76633 ns 76633 ns 9173
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/1024 172588 ns 172588 ns 4100
BenchInsert<tsl::robin_map<uint64_t, Pod>>/1 233 ns 233 ns 3004578
BenchInsert<tsl::robin_map<uint64_t, Pod>>/8 1122 ns 1122 ns 623407
BenchInsert<tsl::robin_map<uint64_t, Pod>>/64 9415 ns 9415 ns 74302
BenchInsert<tsl::robin_map<uint64_t, Pod>>/512 98210 ns 98210 ns 7107
BenchInsert<tsl::robin_map<uint64_t, Pod>>/1024 214743 ns 214743 ns 3291
BenchInsert<llvm::MapVector<uint64_t, Pod>>/1 290 ns 290 ns 2413326
BenchInsert<llvm::MapVector<uint64_t, Pod>>/8 1184 ns 1184 ns 591942
BenchInsert<llvm::MapVector<uint64_t, Pod>>/64 8954 ns 8954 ns 77867
BenchInsert<llvm::MapVector<uint64_t, Pod>>/512 81965 ns 81965 ns 8487
BenchInsert<llvm::MapVector<uint64_t, Pod>>/1024 160980 ns 160980 ns 4147
BenchFind<fast_vector_map<uint64_t, Pod>>/1 7.18 ns 7.18 ns 97358104
BenchFind<fast_vector_map<uint64_t, Pod>>/8 7.98 ns 7.98 ns 87646457
BenchFind<fast_vector_map<uint64_t, Pod>>/64 8.19 ns 8.19 ns 87177259
BenchFind<fast_vector_map<uint64_t, Pod>>/512 9.41 ns 9.41 ns 78321293
BenchFind<fast_vector_map<uint64_t, Pod>>/1024 9.01 ns 9.01 ns 78180878
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/1 11.6 ns 11.6 ns 60355369
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/8 11.9 ns 11.9 ns 46166435
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/64 15.1 ns 15.1 ns 50832432
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/512 18.5 ns 18.5 ns 37023949
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/1024 19.2 ns 19.2 ns 36787913
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/1 11.8 ns 11.8 ns 59129557
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/8 11.8 ns 11.8 ns 61316192
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/64 11.7 ns 11.7 ns 58718000
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/512 14.8 ns 14.8 ns 46875208
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/1024 15.3 ns 15.3 ns 46377985
BenchFind<std::unordered_map<uint64_t, Pod>>/1 11.5 ns 11.5 ns 60834577
BenchFind<std::unordered_map<uint64_t, Pod>>/8 17.0 ns 17.0 ns 39557858
BenchFind<std::unordered_map<uint64_t, Pod>>/64 19.1 ns 19.1 ns 34431617
BenchFind<std::unordered_map<uint64_t, Pod>>/512 22.3 ns 22.3 ns 30070674
BenchFind<std::unordered_map<uint64_t, Pod>>/1024 23.8 ns 23.8 ns 28894274
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/1 7.34 ns 7.33 ns 95583601
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/8 7.93 ns 7.86 ns 87757392
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/64 8.70 ns 8.68 ns 80704118
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/512 9.24 ns 9.24 ns 76659931
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/1024 9.36 ns 9.35 ns 74886381
BenchFind<tsl::robin_map<uint64_t, Pod>>/1 10.5 ns 10.5 ns 66576972
BenchFind<tsl::robin_map<uint64_t, Pod>>/8 11.3 ns 11.3 ns 61787311
BenchFind<tsl::robin_map<uint64_t, Pod>>/64 13.6 ns 13.5 ns 53061384
BenchFind<tsl::robin_map<uint64_t, Pod>>/512 18.8 ns 18.8 ns 40296502
BenchFind<tsl::robin_map<uint64_t, Pod>>/1024 18.6 ns 18.6 ns 38193925
BenchFind<llvm::MapVector<uint64_t, Pod>>/1 4.35 ns 4.35 ns 161103094
BenchFind<llvm::MapVector<uint64_t, Pod>>/8 6.40 ns 6.40 ns 111645824
BenchFind<llvm::MapVector<uint64_t, Pod>>/64 16.3 ns 16.3 ns 42908082
BenchFind<llvm::MapVector<uint64_t, Pod>>/512 16.6 ns 16.6 ns 42390990
BenchFind<llvm::MapVector<uint64_t, Pod>>/1024 16.3 ns 16.3 ns 42776372
BenchRange<fast_vector_map<uint64_t, Pod>>/1 1.54 ns 1.54 ns 453665520
BenchRange<fast_vector_map<uint64_t, Pod>>/8 4.49 ns 4.05 ns 172691725
BenchRange<fast_vector_map<uint64_t, Pod>>/64 26.9 ns 26.8 ns 25818308
BenchRange<fast_vector_map<uint64_t, Pod>>/512 327 ns 327 ns 2136652
BenchRange<fast_vector_map<uint64_t, Pod>>/1024 1103 ns 1103 ns 642465
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/1 3.51 ns 3.51 ns 199617761
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/8 28.4 ns 28.4 ns 39480885
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/64 226 ns 226 ns 3989802
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/512 2506 ns 2506 ns 269268
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/1024 6040 ns 6040 ns 115117
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/1 3.12 ns 3.12 ns 231903632
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/8 23.6 ns 23.6 ns 31772202
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/64 172 ns 172 ns 3983155
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/512 1962 ns 1962 ns 334428
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/1024 8720 ns 8720 ns 80929
BenchRange<std::unordered_map<uint64_t, Pod>>/1 0.963 ns 0.963 ns 726392302
BenchRange<std::unordered_map<uint64_t, Pod>>/8 7.45 ns 7.45 ns 94030450
BenchRange<std::unordered_map<uint64_t, Pod>>/64 101 ns 101 ns 6924782
BenchRange<std::unordered_map<uint64_t, Pod>>/512 3281 ns 3281 ns 218416
BenchRange<std::unordered_map<uint64_t, Pod>>/1024 8718 ns 8697 ns 79738
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/1 2.73 ns 2.73 ns 258299409
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/8 20.2 ns 20.2 ns 36681389
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/64 198 ns 198 ns 3689124
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/512 1984 ns 1984 ns 338971
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/1024 4631 ns 4631 ns 139393
BenchRange<tsl::robin_map<uint64_t, Pod>>/1 4.41 ns 4.41 ns 158276157
BenchRange<tsl::robin_map<uint64_t, Pod>>/8 23.1 ns 23.1 ns 32058839
BenchRange<tsl::robin_map<uint64_t, Pod>>/64 167 ns 167 ns 4236550
BenchRange<tsl::robin_map<uint64_t, Pod>>/512 6018 ns 6018 ns 117857
BenchRange<tsl::robin_map<uint64_t, Pod>>/1024 12561 ns 12561 ns 59477
BenchRange<llvm::MapVector<uint64_t, Pod>>/1 1.57 ns 1.57 ns 444468037
BenchRange<llvm::MapVector<uint64_t, Pod>>/8 5.01 ns 5.01 ns 139618033
BenchRange<llvm::MapVector<uint64_t, Pod>>/64 27.3 ns 27.3 ns 25654868
BenchRange<llvm::MapVector<uint64_t, Pod>>/512 330 ns 330 ns 2124538
BenchRange<llvm::MapVector<uint64_t, Pod>>/1024 1089 ns 1089 ns 636494
BenchErase<fast_vector_map<uint64_t, Pod>>/1 10.6 ns 10.6 ns 66322899
BenchErase<fast_vector_map<uint64_t, Pod>>/8 11.3 ns 11.3 ns 62206596
BenchErase<fast_vector_map<uint64_t, Pod>>/64 11.7 ns 11.7 ns 54053044
BenchErase<fast_vector_map<uint64_t, Pod>>/512 15.0 ns 15.0 ns 47871981
BenchErase<fast_vector_map<uint64_t, Pod>>/1024 17.6 ns 17.6 ns 39193303
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/1 12.8 ns 12.8 ns 54873603
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/8 16.8 ns 16.8 ns 54887174
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/64 15.9 ns 15.9 ns 47148582
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/512 22.0 ns 22.0 ns 31498695
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/1024 24.2 ns 24.2 ns 28776905
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/1 11.6 ns 11.6 ns 60508147
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/8 10.8 ns 10.8 ns 68151022
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/64 11.6 ns 11.6 ns 59702465
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/512 16.0 ns 16.0 ns 43709869
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/1024 17.4 ns 17.4 ns 39872731
BenchErase<std::unordered_map<uint64_t, Pod>>/1 11.7 ns 11.7 ns 59584316
BenchErase<std::unordered_map<uint64_t, Pod>>/8 12.9 ns 12.9 ns 54228956
BenchErase<std::unordered_map<uint64_t, Pod>>/64 20.1 ns 20.1 ns 33960804
BenchErase<std::unordered_map<uint64_t, Pod>>/512 25.6 ns 25.6 ns 26139776
BenchErase<std::unordered_map<uint64_t, Pod>>/1024 30.5 ns 30.5 ns 23139285
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/1 8.29 ns 8.29 ns 84306867
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/8 9.04 ns 9.04 ns 77368729
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/64 10.3 ns 10.3 ns 77312195
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/512 10.6 ns 10.6 ns 62750419
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/1024 13.4 ns 13.4 ns 54685958
BenchErase<tsl::robin_map<uint64_t, Pod>>/1 13.0 ns 13.0 ns 53784033
BenchErase<tsl::robin_map<uint64_t, Pod>>/8 14.0 ns 14.0 ns 47409305
BenchErase<tsl::robin_map<uint64_t, Pod>>/64 16.6 ns 16.6 ns 41671953
BenchErase<tsl::robin_map<uint64_t, Pod>>/512 22.9 ns 22.9 ns 29221120
BenchErase<tsl::robin_map<uint64_t, Pod>>/1024 27.3 ns 27.3 ns 24291026
BenchErase<llvm::MapVector<uint64_t, Pod>>/1 4.36 ns 4.36 ns 160677501
BenchErase<llvm::MapVector<uint64_t, Pod>>/8 6.58 ns 6.58 ns 109893957
BenchErase<llvm::MapVector<uint64_t, Pod>>/64 18.4 ns 18.4 ns 37918173
BenchErase<llvm::MapVector<uint64_t, Pod>>/512 162 ns 162 ns 4193398
BenchErase<llvm::MapVector<uint64_t, Pod>>/1024 690 ns 690 ns 1049240