-
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-16T17:38:55+08:00
Running ./bin/adt_fast_umap
Run on (16 X 3417.59 MHz CPU s)
CPU Caches:
L1 Data 48 KiB (x16)
L1 Instruction 32 KiB (x16)
L2 Unified 2048 KiB (x16)
L3 Unified 30720 KiB (x1)
Load Average: 4.06, 3.51, 2.21
------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------------------------------------
BenchInsert<fast_vector_map<uint64_t, Pod>>/1 47.5 ns 47.5 ns 14784176
BenchInsert<fast_vector_map<uint64_t, Pod>>/8 188 ns 188 ns 3723117
BenchInsert<fast_vector_map<uint64_t, Pod>>/64 1792 ns 1792 ns 391141
BenchInsert<fast_vector_map<uint64_t, Pod>>/512 14510 ns 14510 ns 48566
BenchInsert<fast_vector_map<uint64_t, Pod>>/1024 29482 ns 29480 ns 23726
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/1 49.5 ns 49.5 ns 14070305
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/8 222 ns 222 ns 3156011
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/64 1982 ns 1982 ns 357605
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/512 17213 ns 17213 ns 40426
BenchInsert<ska::flat_hash_map<uint64_t, Pod>>/1024 38705 ns 38705 ns 17826
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/1 43.5 ns 43.5 ns 16094973
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/8 172 ns 172 ns 4102437
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/64 1533 ns 1533 ns 458705
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/512 13283 ns 13283 ns 53880
BenchInsert<ska::bytell_hash_map<uint64_t, Pod>>/1024 29665 ns 29665 ns 23562
BenchInsert<std::unordered_map<uint64_t, Pod>>/1 43.2 ns 43.2 ns 16386996
BenchInsert<std::unordered_map<uint64_t, Pod>>/8 301 ns 301 ns 2350072
BenchInsert<std::unordered_map<uint64_t, Pod>>/64 2365 ns 2365 ns 295389
BenchInsert<std::unordered_map<uint64_t, Pod>>/512 18002 ns 18002 ns 39083
BenchInsert<std::unordered_map<uint64_t, Pod>>/1024 37516 ns 37516 ns 18961
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/1 33.8 ns 33.8 ns 20836986
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/8 129 ns 129 ns 5463636
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/64 1192 ns 1192 ns 587096
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/512 9440 ns 9440 ns 74356
BenchInsert<phmap::flat_hash_map<uint64_t, Pod>>/1024 22365 ns 22365 ns 31097
BenchInsert<tsl::robin_map<uint64_t, Pod>>/1 48.2 ns 48.2 ns 14443900
BenchInsert<tsl::robin_map<uint64_t, Pod>>/8 225 ns 225 ns 3129137
BenchInsert<tsl::robin_map<uint64_t, Pod>>/64 1901 ns 1901 ns 377423
BenchInsert<tsl::robin_map<uint64_t, Pod>>/512 16681 ns 16681 ns 43137
BenchInsert<tsl::robin_map<uint64_t, Pod>>/1024 36533 ns 36533 ns 18993
BenchInsert<llvm::MapVector<uint64_t, Pod>>/1 55.4 ns 55.4 ns 12438604
BenchInsert<llvm::MapVector<uint64_t, Pod>>/8 200 ns 200 ns 3476475
BenchInsert<llvm::MapVector<uint64_t, Pod>>/64 1861 ns 1861 ns 385839
BenchInsert<llvm::MapVector<uint64_t, Pod>>/512 14342 ns 14342 ns 48757
BenchInsert<llvm::MapVector<uint64_t, Pod>>/1024 28438 ns 28438 ns 23874
BenchFind<fast_vector_map<uint64_t, Pod>>/1 2.00 ns 2.00 ns 349922718
BenchFind<fast_vector_map<uint64_t, Pod>>/8 2.45 ns 2.45 ns 284958985
BenchFind<fast_vector_map<uint64_t, Pod>>/64 2.52 ns 2.52 ns 276795921
BenchFind<fast_vector_map<uint64_t, Pod>>/512 2.67 ns 2.66 ns 269552822
BenchFind<fast_vector_map<uint64_t, Pod>>/1024 2.78 ns 2.78 ns 264972754
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/1 5.47 ns 5.47 ns 128739288
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/8 6.72 ns 6.72 ns 118119509
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/64 6.95 ns 6.95 ns 93091108
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/512 7.52 ns 7.52 ns 90768784
BenchFind<ska::flat_hash_map<uint64_t, Pod>>/1024 8.10 ns 8.09 ns 86046266
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/1 5.57 ns 5.57 ns 124249707
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/8 5.48 ns 5.48 ns 127427556
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/64 5.54 ns 5.54 ns 125591843
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/512 5.94 ns 5.94 ns 118916029
BenchFind<ska::bytell_hash_map<uint64_t, Pod>>/1024 6.13 ns 6.13 ns 113692237
BenchFind<std::unordered_map<uint64_t, Pod>>/1 5.88 ns 5.88 ns 119342647
BenchFind<std::unordered_map<uint64_t, Pod>>/8 9.19 ns 9.19 ns 97085559
BenchFind<std::unordered_map<uint64_t, Pod>>/64 10.1 ns 10.1 ns 71381558
BenchFind<std::unordered_map<uint64_t, Pod>>/512 10.6 ns 10.6 ns 68589959
BenchFind<std::unordered_map<uint64_t, Pod>>/1024 11.1 ns 11.1 ns 61777283
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/1 2.16 ns 2.16 ns 323673777
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/8 2.85 ns 2.85 ns 253210776
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/64 2.54 ns 2.54 ns 276143087
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/512 2.68 ns 2.68 ns 265740956
BenchFind<phmap::flat_hash_map<uint64_t, Pod>>/1024 2.74 ns 2.74 ns 254294781
BenchFind<tsl::robin_map<uint64_t, Pod>>/1 5.14 ns 5.14 ns 136058317
BenchFind<tsl::robin_map<uint64_t, Pod>>/8 5.19 ns 5.19 ns 118367035
BenchFind<tsl::robin_map<uint64_t, Pod>>/64 7.13 ns 7.13 ns 105594397
BenchFind<tsl::robin_map<uint64_t, Pod>>/512 7.19 ns 7.19 ns 89111691
BenchFind<tsl::robin_map<uint64_t, Pod>>/1024 7.72 ns 7.72 ns 84972774
BenchFind<llvm::MapVector<uint64_t, Pod>>/1 1.74 ns 1.74 ns 399811321
BenchFind<llvm::MapVector<uint64_t, Pod>>/8 2.98 ns 2.98 ns 249621904
BenchFind<llvm::MapVector<uint64_t, Pod>>/64 8.54 ns 8.54 ns 82188419
BenchFind<llvm::MapVector<uint64_t, Pod>>/512 8.71 ns 8.71 ns 80693018
BenchFind<llvm::MapVector<uint64_t, Pod>>/1024 8.60 ns 8.60 ns 80537292
BenchRange<fast_vector_map<uint64_t, Pod>>/1 0.382 ns 0.382 ns 1000000000
BenchRange<fast_vector_map<uint64_t, Pod>>/8 1.54 ns 1.54 ns 458579795
BenchRange<fast_vector_map<uint64_t, Pod>>/64 8.96 ns 8.96 ns 78661378
BenchRange<fast_vector_map<uint64_t, Pod>>/512 83.2 ns 83.2 ns 8407277
BenchRange<fast_vector_map<uint64_t, Pod>>/1024 250 ns 250 ns 2827811
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/1 0.995 ns 0.995 ns 722888389
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/8 8.80 ns 8.80 ns 75003961
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/64 74.3 ns 74.3 ns 9387071
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/512 618 ns 618 ns 1161488
BenchRange<ska::flat_hash_map<uint64_t, Pod>>/1024 1399 ns 1399 ns 525071
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/1 0.956 ns 0.956 ns 731003022
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/8 11.1 ns 11.1 ns 64593526
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/64 85.1 ns 85.1 ns 8254153
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/512 689 ns 689 ns 984325
BenchRange<ska::bytell_hash_map<uint64_t, Pod>>/1024 1405 ns 1405 ns 493478
BenchRange<std::unordered_map<uint64_t, Pod>>/1 0.215 ns 0.215 ns 1000000000
BenchRange<std::unordered_map<uint64_t, Pod>>/8 1.53 ns 1.53 ns 451026845
BenchRange<std::unordered_map<uint64_t, Pod>>/64 51.6 ns 51.6 ns 14285923
BenchRange<std::unordered_map<uint64_t, Pod>>/512 686 ns 686 ns 1000242
BenchRange<std::unordered_map<uint64_t, Pod>>/1024 3689 ns 3689 ns 169372
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/1 0.480 ns 0.480 ns 1000000000
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/8 4.92 ns 4.92 ns 122771011
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/64 83.0 ns 83.0 ns 10758557
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/512 668 ns 668 ns 1077876
BenchRange<phmap::flat_hash_map<uint64_t, Pod>>/1024 1416 ns 1416 ns 522765
BenchRange<tsl::robin_map<uint64_t, Pod>>/1 0.778 ns 0.778 ns 909591562
BenchRange<tsl::robin_map<uint64_t, Pod>>/8 8.03 ns 8.03 ns 106173494
BenchRange<tsl::robin_map<uint64_t, Pod>>/64 69.4 ns 69.4 ns 9943378
BenchRange<tsl::robin_map<uint64_t, Pod>>/512 722 ns 722 ns 968828
BenchRange<tsl::robin_map<uint64_t, Pod>>/1024 1462 ns 1462 ns 473298
BenchRange<llvm::MapVector<uint64_t, Pod>>/1 0.382 ns 0.382 ns 1000000000
BenchRange<llvm::MapVector<uint64_t, Pod>>/8 1.53 ns 1.53 ns 458162742
BenchRange<llvm::MapVector<uint64_t, Pod>>/64 9.30 ns 9.30 ns 75921838
BenchRange<llvm::MapVector<uint64_t, Pod>>/512 84.4 ns 84.4 ns 8696535
BenchRange<llvm::MapVector<uint64_t, Pod>>/1024 252 ns 252 ns 2770852
BenchErase<fast_vector_map<uint64_t, Pod>>/1 2.41 ns 2.41 ns 290314705
BenchErase<fast_vector_map<uint64_t, Pod>>/8 2.91 ns 2.91 ns 245738735
BenchErase<fast_vector_map<uint64_t, Pod>>/64 2.99 ns 2.99 ns 237039441
BenchErase<fast_vector_map<uint64_t, Pod>>/512 3.45 ns 3.45 ns 206943791
BenchErase<fast_vector_map<uint64_t, Pod>>/1024 3.84 ns 3.84 ns 179276249
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/1 5.69 ns 5.69 ns 123424928
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/8 5.69 ns 5.69 ns 114503669
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/64 6.56 ns 6.56 ns 99781106
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/512 8.33 ns 8.33 ns 75251929
BenchErase<ska::flat_hash_map<uint64_t, Pod>>/1024 9.47 ns 9.47 ns 78094453
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/1 4.94 ns 4.94 ns 141294818
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/8 5.09 ns 5.09 ns 150031548
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/64 5.11 ns 5.11 ns 100000000
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/512 5.50 ns 5.50 ns 127497949
BenchErase<ska::bytell_hash_map<uint64_t, Pod>>/1024 5.97 ns 5.97 ns 118107214
BenchErase<std::unordered_map<uint64_t, Pod>>/1 6.56 ns 6.56 ns 105969588
BenchErase<std::unordered_map<uint64_t, Pod>>/8 9.47 ns 9.47 ns 98516997
BenchErase<std::unordered_map<uint64_t, Pod>>/64 10.6 ns 10.6 ns 62223634
BenchErase<std::unordered_map<uint64_t, Pod>>/512 11.6 ns 11.6 ns 64036595
BenchErase<std::unordered_map<uint64_t, Pod>>/1024 12.7 ns 12.7 ns 52389440
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/1 2.14 ns 2.14 ns 326350872
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/8 2.79 ns 2.79 ns 255258728
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/64 2.56 ns 2.56 ns 260297450
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/512 2.80 ns 2.80 ns 240846335
BenchErase<phmap::flat_hash_map<uint64_t, Pod>>/1024 3.03 ns 3.03 ns 233101612
BenchErase<tsl::robin_map<uint64_t, Pod>>/1 5.83 ns 5.83 ns 120552114
BenchErase<tsl::robin_map<uint64_t, Pod>>/8 8.09 ns 8.09 ns 103370118
BenchErase<tsl::robin_map<uint64_t, Pod>>/64 7.33 ns 7.33 ns 89660534
BenchErase<tsl::robin_map<uint64_t, Pod>>/512 8.92 ns 8.92 ns 78375240
BenchErase<tsl::robin_map<uint64_t, Pod>>/1024 9.85 ns 9.85 ns 71438921
BenchErase<llvm::MapVector<uint64_t, Pod>>/1 1.72 ns 1.72 ns 409136072
BenchErase<llvm::MapVector<uint64_t, Pod>>/8 2.95 ns 2.95 ns 260089124
BenchErase<llvm::MapVector<uint64_t, Pod>>/64 9.06 ns 9.06 ns 79968693
BenchErase<llvm::MapVector<uint64_t, Pod>>/512 45.3 ns 45.3 ns 15723780
BenchErase<llvm::MapVector<uint64_t, Pod>>/1024 170 ns 170 ns 3995700