-
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
2023-06-11T21:34:30+08:00
Running ./bin/adt_fast_umap
Run on (8 X 2904 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x8)
L1 Instruction 32 KiB (x8)
L2 Unified 256 KiB (x8)
L3 Unified 16384 KiB (x1)
Load Average: 4.14, 4.56, 3.25
------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------------------------------------
BenchInsert<fast_vector_map<uint64_t, Pod>>/1 96.2 ns 95.6 ns 7126020
BenchInsert<fast_vector_map<uint64_t, Pod>>/8 343 ns 341 ns 2118259
BenchInsert<fast_vector_map<uint64_t, Pod>>/64 2983 ns 2965 ns 249252
BenchInsert<fast_vector_map<uint64_t, Pod>>/512 25905 ns 25747 ns 25688
BenchInsert<fast_vector_map<uint64_t, Pod>>/1024 62586 ns 62198 ns 13821
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/1 120 ns 120 ns 5508852
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/8 410 ns 407 ns 1743664
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/64 3753 ns 3729 ns 194498
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/512 36935 ns 36855 ns 20180
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/1024 72124 ns 73662 ns 8188
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/1 88.9 ns 90.5 ns 8296961
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/8 280 ns 285 ns 2365756
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/64 2484 ns 2515 ns 283338
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/512 25341 ns 25591 ns 27030
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/1024 51030 ns 51463 ns 13957
BenchInsert<std::unordered_map<uint64_t, Pod>>/1 82.3 ns 82.9 ns 8846563
BenchInsert<std::unordered_map<uint64_t, Pod>>/8 543 ns 546 ns 1266564
BenchInsert<std::unordered_map<uint64_t, Pod>>/64 4332 ns 4349 ns 168526
BenchInsert<std::unordered_map<uint64_t, Pod>>/512 35685 ns 35767 ns 19070
BenchInsert<std::unordered_map<uint64_t, Pod>>/1024 79501 ns 79611 ns 9264
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/1 59.9 ns 59.9 ns 10999261
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/8 208 ns 208 ns 3352844
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/64 1953 ns 1951 ns 363416
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/512 21042 ns 21002 ns 33676
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/1024 43778 ns 43660 ns 16078
BenchInsert<tsl::robin_map<uint64_t, Pod>>/1 101 ns 101 ns 7178617
BenchInsert<tsl::robin_map<uint64_t, Pod>>/8 409 ns 407 ns 1749930
BenchInsert<tsl::robin_map<uint64_t, Pod>>/64 3202 ns 3189 ns 219831
BenchInsert<tsl::robin_map<uint64_t, Pod>>/512 32346 ns 32202 ns 21928
BenchInsert<tsl::robin_map<uint64_t, Pod>>/1024 69297 ns 68970 ns 10082
BenchInsert<llvm::MapVector<uint64_t, Pod>>/1 104 ns 104 ns 5592889
BenchInsert<llvm::MapVector<uint64_t, Pod>>/8 332 ns 331 ns 2166315
BenchInsert<llvm::MapVector<uint64_t, Pod>>/64 2822 ns 2807 ns 252682
BenchInsert<llvm::MapVector<uint64_t, Pod>>/512 26225 ns 26078 ns 25790
BenchInsert<llvm::MapVector<uint64_t, Pod>>/1024 56624 ns 56300 ns 13569
BenchFind<fast_vector_map<uint64_t, Pod>>/1 3.17 ns 3.15 ns 220207605
BenchFind<fast_vector_map<uint64_t, Pod>>/8 3.56 ns 3.54 ns 198974726
BenchFind<fast_vector_map<uint64_t, Pod>>/64 3.68 ns 3.66 ns 182889985
BenchFind<fast_vector_map<uint64_t, Pod>>/512 3.89 ns 3.86 ns 184935701
BenchFind<fast_vector_map<uint64_t, Pod>>/1024 3.80 ns 3.78 ns 178104729
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/1 6.66 ns 6.61 ns 106286454
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/8 8.23 ns 8.18 ns 85736118
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/64 8.88 ns 8.90 ns 91422259
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/512 9.74 ns 9.95 ns 72749338
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/1024 10.6 ns 10.8 ns 61986381
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/1 7.10 ns 7.21 ns 95890569
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/8 7.10 ns 7.19 ns 101430661
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/64 7.74 ns 7.84 ns 88122150
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/512 8.12 ns 8.20 ns 85519158
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/1024 8.88 ns 8.95 ns 67299787
BenchFind<std::unordered_map<uint64_t, Pod>>/1 9.06 ns 9.12 ns 78119750
BenchFind<std::unordered_map<uint64_t, Pod>>/8 13.2 ns 13.2 ns 46894281
BenchFind<std::unordered_map<uint64_t, Pod>>/64 14.4 ns 14.4 ns 46649810
BenchFind<std::unordered_map<uint64_t, Pod>>/512 17.8 ns 17.8 ns 39793013
BenchFind<std::unordered_map<uint64_t, Pod>>/1024 20.2 ns 20.3 ns 33497699
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/1 2.93 ns 2.93 ns 244244379
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/8 3.34 ns 3.34 ns 211766109
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/64 3.67 ns 3.66 ns 203396878
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/512 3.61 ns 3.60 ns 188060076
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/1024 4.00 ns 3.99 ns 173477579
BenchFind<tsl::robin_map<uint64_t, Pod>>/1 6.61 ns 6.59 ns 112244600
BenchFind<tsl::robin_map<uint64_t, Pod>>/8 6.52 ns 6.49 ns 93039694
BenchFind<tsl::robin_map<uint64_t, Pod>>/64 8.58 ns 8.54 ns 89667042
BenchFind<tsl::robin_map<uint64_t, Pod>>/512 9.81 ns 9.77 ns 72290457
BenchFind<tsl::robin_map<uint64_t, Pod>>/1024 10.1 ns 10.1 ns 67685091
BenchFind<llvm::MapVector<uint64_t, Pod>>/1 2.70 ns 2.69 ns 282385022
BenchFind<llvm::MapVector<uint64_t, Pod>>/8 3.91 ns 3.89 ns 191733201
BenchFind<llvm::MapVector<uint64_t, Pod>>/64 9.60 ns 9.54 ns 71668513
BenchFind<llvm::MapVector<uint64_t, Pod>>/512 10.4 ns 10.4 ns 62947767
BenchFind<llvm::MapVector<uint64_t, Pod>>/1024 10.9 ns 10.9 ns 66746501
BenchRange<fast_vector_map<uint64_t, Pod>>/1 0.791 ns 0.786 ns 782517031
BenchRange<fast_vector_map<uint64_t, Pod>>/8 2.38 ns 2.37 ns 313041100
BenchRange<fast_vector_map<uint64_t, Pod>>/64 19.0 ns 18.9 ns 37173186
BenchRange<fast_vector_map<uint64_t, Pod>>/512 150 ns 149 ns 4686452
BenchRange<fast_vector_map<uint64_t, Pod>>/1024 453 ns 450 ns 1639954
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/1 2.09 ns 2.07 ns 325097416
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/8 8.35 ns 8.30 ns 69910140
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/64 59.3 ns 58.9 ns 12014743
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/512 1550 ns 1540 ns 451494
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/1024 3786 ns 3771 ns 185712
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/1 1.80 ns 1.84 ns 372307270
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/8 13.5 ns 13.8 ns 47283717
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/64 104 ns 106 ns 6513461
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/512 922 ns 935 ns 800273
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/1024 2473 ns 2501 ns 235650
BenchRange<std::unordered_map<uint64_t, Pod>>/1 0.421 ns 0.425 ns 1000000000
BenchRange<std::unordered_map<uint64_t, Pod>>/8 2.85 ns 2.87 ns 248243716
BenchRange<std::unordered_map<uint64_t, Pod>>/64 62.8 ns 63.2 ns 10593593
BenchRange<std::unordered_map<uint64_t, Pod>>/512 2481 ns 2494 ns 281745
BenchRange<std::unordered_map<uint64_t, Pod>>/1024 5491 ns 5513 ns 127387
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/1 1.04 ns 1.04 ns 752078948
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/8 10.2 ns 10.2 ns 100150273
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/64 123 ns 123 ns 5998194
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/512 1054 ns 1054 ns 752543
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/1024 1986 ns 1985 ns 351508
BenchRange<tsl::robin_map<uint64_t, Pod>>/1 1.64 ns 1.64 ns 423721519
BenchRange<tsl::robin_map<uint64_t, Pod>>/8 10.5 ns 10.4 ns 66985540
BenchRange<tsl::robin_map<uint64_t, Pod>>/64 73.2 ns 73.0 ns 9288644
BenchRange<tsl::robin_map<uint64_t, Pod>>/512 1064 ns 1061 ns 695501
BenchRange<tsl::robin_map<uint64_t, Pod>>/1024 2492 ns 2484 ns 271488
BenchRange<llvm::MapVector<uint64_t, Pod>>/1 0.764 ns 0.761 ns 938287906
BenchRange<llvm::MapVector<uint64_t, Pod>>/8 2.19 ns 2.18 ns 322129972
BenchRange<llvm::MapVector<uint64_t, Pod>>/64 18.9 ns 18.9 ns 36804875
BenchRange<llvm::MapVector<uint64_t, Pod>>/512 155 ns 155 ns 4701805
BenchRange<llvm::MapVector<uint64_t, Pod>>/1024 427 ns 424 ns 1621230
BenchErase<fast_vector_map<uint64_t, Pod>>/1 4.96 ns 4.94 ns 142462093
BenchErase<fast_vector_map<uint64_t, Pod>>/8 5.93 ns 5.90 ns 129240551
BenchErase<fast_vector_map<uint64_t, Pod>>/64 5.80 ns 5.77 ns 121792974
BenchErase<fast_vector_map<uint64_t, Pod>>/512 6.91 ns 6.87 ns 107074303
BenchErase<fast_vector_map<uint64_t, Pod>>/1024 7.45 ns 7.41 ns 98163397
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/1 7.36 ns 7.32 ns 98365610
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/8 7.62 ns 7.57 ns 87882015
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/64 9.16 ns 9.10 ns 83461475
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/512 10.9 ns 10.9 ns 52452982
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/1024 13.3 ns 13.2 ns 58405281
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/1 7.03 ns 6.99 ns 108387337
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/8 6.64 ns 6.60 ns 90528764
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/64 6.66 ns 6.80 ns 102881446
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/512 7.87 ns 8.01 ns 92346687
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/1024 8.16 ns 8.29 ns 80637756
BenchErase<std::unordered_map<uint64_t, Pod>>/1 10.8 ns 10.9 ns 57840656
BenchErase<std::unordered_map<uint64_t, Pod>>/8 14.6 ns 14.8 ns 43905737
BenchErase<std::unordered_map<uint64_t, Pod>>/64 17.6 ns 17.8 ns 34831439
BenchErase<std::unordered_map<uint64_t, Pod>>/512 21.1 ns 21.3 ns 32071912
BenchErase<std::unordered_map<uint64_t, Pod>>/1024 24.0 ns 24.1 ns 30499856
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/1 2.90 ns 2.91 ns 241858315
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/8 3.60 ns 3.61 ns 195011899
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/64 3.69 ns 3.70 ns 189399096
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/512 4.22 ns 4.22 ns 166979319
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/1024 4.48 ns 4.48 ns 161567204
BenchErase<tsl::robin_map<uint64_t, Pod>>/1 7.64 ns 7.63 ns 92527033
BenchErase<tsl::robin_map<uint64_t, Pod>>/8 8.21 ns 8.19 ns 73220031
BenchErase<tsl::robin_map<uint64_t, Pod>>/64 11.8 ns 11.8 ns 71171038
BenchErase<tsl::robin_map<uint64_t, Pod>>/512 13.0 ns 12.9 ns 58105832
BenchErase<tsl::robin_map<uint64_t, Pod>>/1024 13.9 ns 13.9 ns 49885376
BenchErase<llvm::MapVector<uint64_t, Pod>>/1 2.67 ns 2.66 ns 272032980
BenchErase<llvm::MapVector<uint64_t, Pod>>/8 3.92 ns 3.91 ns 181422850
BenchErase<llvm::MapVector<uint64_t, Pod>>/64 11.4 ns 11.3 ns 59765891
BenchErase<llvm::MapVector<uint64_t, Pod>>/512 86.2 ns 85.8 ns 8250981
BenchErase<llvm::MapVector<uint64_t, Pod>>/1024 306 ns 304 ns 2065032