-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfolly_sorted_string.txt
402 lines (380 loc) · 36.2 KB
/
folly_sorted_string.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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > > memory
user cpu : 0s 324505us
sys cpu : 0s 33694us
max rss : 81964 KB / 80.043 MB
page reclaims : 20497
page faults : 0
voluntary switches : 0
involuntary switches : 1
std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > > memory
user cpu : 0s 366040us
sys cpu : 0s 44239us
max rss : 130944 KB / 127.875 MB
page reclaims : 32788
page faults : 0
voluntary switches : 0
involuntary switches : 0
std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > > memory
user cpu : 0s 233545us
sys cpu : 0s 24167us
max rss : 73716 KB / 71.9883 MB
page reclaims : 16940
page faults : 0
voluntary switches : 0
involuntary switches : 0
std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > > memory
user cpu : 0s 316967us
sys cpu : 0s 16028us
max rss : 122820 KB / 119.941 MB
page reclaims : 29229
page faults : 0
voluntary switches : 0
involuntary switches : 1
tsl::sparse_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, tsl::sh::power_of_two_growth_policy<2ul>, (tsl::sh::exception_safety)0, (tsl::sh::sparsity)1> memory
user cpu : 0s 365596us
sys cpu : 0s 4025us
max rss : 48480 KB / 47.3438 MB
page reclaims : 12351
page faults : 0
voluntary switches : 0
involuntary switches : 1
tsl::sparse_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, tsl::sh::power_of_two_growth_policy<2ul>, (tsl::sh::exception_safety)0, (tsl::sh::sparsity)1> memory
user cpu : 0s 561979us
sys cpu : 0s 16044us
max rss : 93984 KB / 91.7812 MB
page reclaims : 23526
page faults : 0
voluntary switches : 0
involuntary switches : 1
tsl::sparse_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, tsl::sh::power_of_two_growth_policy<2ul>, (tsl::sh::exception_safety)0, (tsl::sh::sparsity)1> memory
user cpu : 0s 353500us
sys cpu : 0s 16070us
max rss : 46464 KB / 45.375 MB
page reclaims : 11637
page faults : 0
voluntary switches : 0
involuntary switches : 0
tsl::sparse_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, tsl::sh::power_of_two_growth_policy<2ul>, (tsl::sh::exception_safety)0, (tsl::sh::sparsity)1> memory
user cpu : 0s 448472us
sys cpu : 0s 44109us
max rss : 92136 KB / 89.9766 MB
page reclaims : 23073
page faults : 0
voluntary switches : 0
involuntary switches : 1
tsl::sparse_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, tsl::sh::prime_growth_policy, (tsl::sh::exception_safety)0, (tsl::sh::sparsity)1> memory
user cpu : 0s 272404us
sys cpu : 0s 24046us
max rss : 50688 KB / 49.5 MB
page reclaims : 12676
page faults : 0
voluntary switches : 0
involuntary switches : 2
tsl::sparse_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, tsl::sh::prime_growth_policy, (tsl::sh::exception_safety)0, (tsl::sh::sparsity)1> memory
user cpu : 0s 308555us
sys cpu : 0s 48125us
max rss : 92928 KB / 90.75 MB
page reclaims : 23238
page faults : 0
voluntary switches : 0
involuntary switches : 0
tsl::ordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, std::deque<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> > >, unsigned int> memory
user cpu : 0s 132449us
sys cpu : 0s 20067us
max rss : 58408 KB / 57.0391 MB
page reclaims : 12866
page faults : 0
voluntary switches : 0
involuntary switches : 0
tsl::ordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, std::deque<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> > >, unsigned int> memory
user cpu : 0s 140057us
sys cpu : 0s 44108us
max rss : 108020 KB / 105.488 MB
page reclaims : 21426
page faults : 0
voluntary switches : 0
involuntary switches : 1
tsl::ordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> > >, unsigned int> memory
user cpu : 0s 131754us
sys cpu : 0s 24015us
max rss : 73584 KB / 71.8594 MB
page reclaims : 4155
page faults : 0
voluntary switches : 0
involuntary switches : 0
tsl::ordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> > >, unsigned int> memory
user cpu : 0s 152290us
sys cpu : 0s 24056us
max rss : 114880 KB / 112.188 MB
page reclaims : 5235
page faults : 0
voluntary switches : 0
involuntary switches : 0
tsl::ordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, std::deque<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> > >, unsigned int> memory
user cpu : 0s 131902us
sys cpu : 0s 16001us
max rss : 61428 KB / 59.9883 MB
page reclaims : 10782
page faults : 0
voluntary switches : 0
involuntary switches : 0
tsl::ordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, std::deque<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> > >, unsigned int> memory
user cpu : 0s 132080us
sys cpu : 0s 60139us
max rss : 108556 KB / 106.012 MB
page reclaims : 23580
page faults : 0
voluntary switches : 0
involuntary switches : 0
tsl::ordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> > >, unsigned int> memory
user cpu : 0s 112153us
sys cpu : 0s 16027us
max rss : 57368 KB / 56.0234 MB
page reclaims : 1066
page faults : 0
voluntary switches : 0
involuntary switches : 0
tsl::ordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> >, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long> > >, unsigned int> memory
user cpu : 0s 151590us
sys cpu : 0s 31996us
max rss : 108516 KB / 105.973 MB
page reclaims : 13352
page faults : 0
voluntary switches : 0
involuntary switches : 1
folly::F14FastMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, folly::HeterogeneousAccessHash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>, folly::HeterogeneousAccessEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > > memory
user cpu : 0s 140011us
sys cpu : 0s 7983us
max rss : 49156 KB / 48.0039 MB
page reclaims : 580
page faults : 0
voluntary switches : 0
involuntary switches : 0
folly::F14FastMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, folly::HeterogeneousAccessHash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>, folly::HeterogeneousAccessEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > > memory
user cpu : 0s 187554us
sys cpu : 0s 27968us
max rss : 100272 KB / 97.9219 MB
page reclaims : 12819
page faults : 0
voluntary switches : 0
involuntary switches : 1
folly::F14ValueMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, folly::HeterogeneousAccessHash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>, folly::HeterogeneousAccessEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > > memory
user cpu : 0s 160711us
sys cpu : 0s 20085us
max rss : 73720 KB / 71.9922 MB
page reclaims : 581
page faults : 0
voluntary switches : 0
involuntary switches : 0
folly::F14ValueMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long, folly::HeterogeneousAccessHash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>, folly::HeterogeneousAccessEqualTo<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, unsigned long> > > memory
user cpu : 0s 199349us
sys cpu : 0s 31948us
max rss : 122756 KB / 119.879 MB
page reclaims : 12863
page faults : 0
voluntary switches : 0
involuntary switches : 0
2023-06-11T21:42:23+08:00
Running ./bin/folly_sorted_string
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.06, 4.13, 3.58
---------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------------------------------------------------
BenchInsert<std::map<std::string, uint32_t>>/1 49.9 ns 49.8 ns 11503562
BenchInsert<std::map<std::string, uint32_t>>/8 602 ns 601 ns 1284216
BenchInsert<std::map<std::string, uint32_t>>/64 7177 ns 7161 ns 107839
BenchInsert<std::map<std::string, uint32_t>>/512 98694 ns 98431 ns 6918
BenchInsert<std::map<std::string, uint32_t>>/4096 1397244 ns 1392824 ns 479
BenchInsert<std::map<std::string, uint32_t>>/32768 31910611 ns 31796259 ns 20
BenchInsert<std::map<std::string, uint32_t>>/65536 108644724 ns 108204396 ns 7
BenchInsert<phmap::btree_map<std::string, uint32_t>>/1 40.2 ns 40.1 ns 16449779
BenchInsert<phmap::btree_map<std::string, uint32_t>>/8 544 ns 542 ns 1494996
BenchInsert<phmap::btree_map<std::string, uint32_t>>/64 5195 ns 5170 ns 100000
BenchInsert<phmap::btree_map<std::string, uint32_t>>/512 109104 ns 108523 ns 7119
BenchInsert<phmap::btree_map<std::string, uint32_t>>/4096 1255576 ns 1248763 ns 631
BenchInsert<phmap::btree_map<std::string, uint32_t>>/32768 19212288 ns 19104265 ns 36
BenchInsert<phmap::btree_map<std::string, uint32_t>>/65536 49365731 ns 49079917 ns 14
BenchInsert<std::unordered_map<std::string, uint32_t>>/1 88.7 ns 88.2 ns 8501626
BenchInsert<std::unordered_map<std::string, uint32_t>>/8 524 ns 520 ns 1375745
BenchInsert<std::unordered_map<std::string, uint32_t>>/64 5837 ns 5801 ns 132608
BenchInsert<std::unordered_map<std::string, uint32_t>>/512 57991 ns 57632 ns 11967
BenchInsert<std::unordered_map<std::string, uint32_t>>/4096 565662 ns 562117 ns 1333
BenchInsert<std::unordered_map<std::string, uint32_t>>/32768 7282444 ns 7236035 ns 97
BenchInsert<std::unordered_map<std::string, uint32_t>>/65536 20890413 ns 20755884 ns 40
BenchInsert<phmap::flat_hash_map<std::string, uint32_t>>/1 63.1 ns 62.7 ns 11860766
BenchInsert<phmap::flat_hash_map<std::string, uint32_t>>/8 613 ns 620 ns 1304827
BenchInsert<phmap::flat_hash_map<std::string, uint32_t>>/64 6473 ns 6604 ns 120018
BenchInsert<phmap::flat_hash_map<std::string, uint32_t>>/512 49128 ns 50019 ns 11807
BenchInsert<phmap::flat_hash_map<std::string, uint32_t>>/4096 457977 ns 464471 ns 1435
BenchInsert<phmap::flat_hash_map<std::string, uint32_t>>/32768 4354833 ns 4402423 ns 147
BenchInsert<phmap::flat_hash_map<std::string, uint32_t>>/65536 10838476 ns 10937788 ns 72
BenchInsert<tsl::sparse_map<std::string, uint32_t>>/1 112 ns 113 ns 7291139
BenchInsert<tsl::sparse_map<std::string, uint32_t>>/8 938 ns 944 ns 887557
BenchInsert<tsl::sparse_map<std::string, uint32_t>>/64 10216 ns 10259 ns 67844
BenchInsert<tsl::sparse_map<std::string, uint32_t>>/512 98458 ns 98705 ns 6471
BenchInsert<tsl::sparse_map<std::string, uint32_t>>/4096 870803 ns 872194 ns 860
BenchInsert<tsl::sparse_map<std::string, uint32_t>>/32768 7786123 ns 7790422 ns 88
BenchInsert<tsl::sparse_map<std::string, uint32_t>>/65536 16956928 ns 16950685 ns 42
BenchInsert<tsl::ordered_map<std::string, uint32_t>>/1 82.2 ns 82.1 ns 8862665
BenchInsert<tsl::ordered_map<std::string, uint32_t>>/8 493 ns 492 ns 1429450
BenchInsert<tsl::ordered_map<std::string, uint32_t>>/64 3179 ns 3171 ns 230486
BenchInsert<tsl::ordered_map<std::string, uint32_t>>/512 45464 ns 45323 ns 15177
BenchInsert<tsl::ordered_map<std::string, uint32_t>>/4096 354833 ns 353549 ns 1978
BenchInsert<tsl::ordered_map<std::string, uint32_t>>/32768 3076317 ns 3063838 ns 243
BenchInsert<tsl::ordered_map<std::string, uint32_t>>/65536 7098686 ns 7067947 ns 104
BenchInsert<tsl::vector_map<std::string, uint32_t>>/1 71.1 ns 70.8 ns 11505320
BenchInsert<tsl::vector_map<std::string, uint32_t>>/8 528 ns 525 ns 1000000
BenchInsert<tsl::vector_map<std::string, uint32_t>>/64 4501 ns 4478 ns 178242
BenchInsert<tsl::vector_map<std::string, uint32_t>>/512 37979 ns 37775 ns 16378
BenchInsert<tsl::vector_map<std::string, uint32_t>>/4096 304971 ns 303278 ns 2299
BenchInsert<tsl::vector_map<std::string, uint32_t>>/32768 2879027 ns 2862556 ns 256
BenchInsert<tsl::vector_map<std::string, uint32_t>>/65536 6118242 ns 6082262 ns 123
BenchInsert<folly::F14FastMap<std::string, uint32_t>>/1 53.9 ns 53.6 ns 13570761
BenchInsert<folly::F14FastMap<std::string, uint32_t>>/8 380 ns 378 ns 1921685
BenchInsert<folly::F14FastMap<std::string, uint32_t>>/64 4191 ns 4165 ns 171567
BenchInsert<folly::F14FastMap<std::string, uint32_t>>/512 40266 ns 40013 ns 17049
BenchInsert<folly::F14FastMap<std::string, uint32_t>>/4096 392936 ns 390440 ns 2180
BenchInsert<folly::F14FastMap<std::string, uint32_t>>/32768 3225205 ns 3241504 ns 207
BenchInsert<folly::F14FastMap<std::string, uint32_t>>/65536 7544098 ns 7703103 ns 98
BenchFind<std::map<std::string, Pod>>/1 16.4 ns 16.7 ns 40514498
BenchFind<std::map<std::string, Pod>>/8 44.1 ns 44.7 ns 18779786
BenchFind<std::map<std::string, Pod>>/64 81.7 ns 79.6 ns 7796324
BenchFind<std::map<std::string, Pod>>/512 124 ns 125 ns 6248868
BenchFind<std::map<std::string, Pod>>/4096 319 ns 305 ns 2315720
BenchFind<std::map<std::string, Pod>>/32768 709 ns 713 ns 869662
BenchFind<std::map<std::string, Pod>>/65536 1077 ns 1081 ns 587412
BenchFind<phmap::flat_hash_map<std::string, Pod>>/1 31.5 ns 31.6 ns 27662076
BenchFind<phmap::flat_hash_map<std::string, Pod>>/8 27.8 ns 27.8 ns 24968677
BenchFind<phmap::flat_hash_map<std::string, Pod>>/64 32.4 ns 32.3 ns 24208577
BenchFind<phmap::flat_hash_map<std::string, Pod>>/512 33.4 ns 33.3 ns 17765120
BenchFind<phmap::flat_hash_map<std::string, Pod>>/4096 50.9 ns 50.8 ns 14685830
BenchFind<phmap::flat_hash_map<std::string, Pod>>/32768 165 ns 165 ns 4517836
BenchFind<phmap::flat_hash_map<std::string, Pod>>/65536 238 ns 237 ns 3301684
BenchFind<phmap::btree_map<std::string, Pod>>/1 13.5 ns 13.5 ns 60141106
BenchFind<phmap::btree_map<std::string, Pod>>/8 42.0 ns 41.8 ns 15993995
BenchFind<phmap::btree_map<std::string, Pod>>/64 69.6 ns 69.3 ns 9125926
BenchFind<phmap::btree_map<std::string, Pod>>/512 137 ns 136 ns 6051354
BenchFind<phmap::btree_map<std::string, Pod>>/4096 225 ns 223 ns 3366761
BenchFind<phmap::btree_map<std::string, Pod>>/32768 479 ns 476 ns 1368879
BenchFind<phmap::btree_map<std::string, Pod>>/65536 696 ns 692 ns 1025684
BenchFind<tsl::sparse_map<std::string, Pod>>/1 22.3 ns 22.1 ns 31769095
BenchFind<tsl::sparse_map<std::string, Pod>>/8 27.6 ns 27.4 ns 26511125
BenchFind<tsl::sparse_map<std::string, Pod>>/64 35.1 ns 34.9 ns 18655862
BenchFind<tsl::sparse_map<std::string, Pod>>/512 40.1 ns 39.9 ns 19727614
BenchFind<tsl::sparse_map<std::string, Pod>>/4096 53.8 ns 53.4 ns 13231294
BenchFind<tsl::sparse_map<std::string, Pod>>/32768 104 ns 103 ns 6676117
BenchFind<tsl::sparse_map<std::string, Pod>>/65536 203 ns 202 ns 3632280
BenchFind<tsl::ordered_map<std::string, Pod>>/1 25.6 ns 25.4 ns 27512726
BenchFind<tsl::ordered_map<std::string, Pod>>/8 39.2 ns 39.6 ns 23252918
BenchFind<tsl::ordered_map<std::string, Pod>>/64 35.8 ns 36.5 ns 18332931
BenchFind<tsl::ordered_map<std::string, Pod>>/512 46.6 ns 47.4 ns 15859615
BenchFind<tsl::ordered_map<std::string, Pod>>/4096 60.7 ns 61.5 ns 8521764
BenchFind<tsl::ordered_map<std::string, Pod>>/32768 171 ns 172 ns 3080198
BenchFind<tsl::ordered_map<std::string, Pod>>/65536 253 ns 255 ns 2527903
BenchFind<folly::F14FastMap<std::string, Pod>>/1 24.5 ns 24.7 ns 25816305
BenchFind<folly::F14FastMap<std::string, Pod>>/8 26.1 ns 26.2 ns 24293378
BenchFind<folly::F14FastMap<std::string, Pod>>/64 28.5 ns 28.6 ns 24246610
BenchFind<folly::F14FastMap<std::string, Pod>>/512 38.9 ns 39.0 ns 20608137
BenchFind<folly::F14FastMap<std::string, Pod>>/4096 56.7 ns 56.8 ns 11727131
BenchFind<folly::F14FastMap<std::string, Pod>>/32768 74.8 ns 74.9 ns 10798736
BenchFind<folly::F14FastMap<std::string, Pod>>/65536 185 ns 185 ns 3611987
BenchRange<std::map<std::string, Pod>>/1 1.83 ns 1.83 ns 379387582
BenchRange<std::map<std::string, Pod>>/8 19.0 ns 19.0 ns 35780846
BenchRange<std::map<std::string, Pod>>/64 169 ns 169 ns 3903576
BenchRange<std::map<std::string, Pod>>/512 1969 ns 1962 ns 365845
BenchRange<std::map<std::string, Pod>>/4096 42816 ns 42671 ns 17398
BenchRange<std::map<std::string, Pod>>/32768 576239 ns 573561 ns 1228
BenchRange<std::map<std::string, Pod>>/65536 3448266 ns 3430753 ns 196
BenchRange<phmap::flat_hash_map<std::string, Pod>>/1 0.919 ns 0.915 ns 768844108
BenchRange<phmap::flat_hash_map<std::string, Pod>>/8 13.7 ns 13.6 ns 52930230
BenchRange<phmap::flat_hash_map<std::string, Pod>>/64 203 ns 201 ns 5778694
BenchRange<phmap::flat_hash_map<std::string, Pod>>/512 1807 ns 1796 ns 550702
BenchRange<phmap::flat_hash_map<std::string, Pod>>/4096 18950 ns 18851 ns 31441
BenchRange<phmap::flat_hash_map<std::string, Pod>>/32768 280636 ns 279103 ns 2403
BenchRange<phmap::flat_hash_map<std::string, Pod>>/65536 590462 ns 587174 ns 1408
BenchRange<phmap::btree_map<std::string, Pod>>/1 1.78 ns 1.77 ns 419852349
BenchRange<phmap::btree_map<std::string, Pod>>/8 8.09 ns 8.05 ns 87347268
BenchRange<phmap::btree_map<std::string, Pod>>/64 67.4 ns 67.0 ns 11661026
BenchRange<phmap::btree_map<std::string, Pod>>/512 680 ns 676 ns 994886
BenchRange<phmap::btree_map<std::string, Pod>>/4096 12582 ns 12508 ns 59574
BenchRange<phmap::btree_map<std::string, Pod>>/32768 152070 ns 151158 ns 4356
BenchRange<phmap::btree_map<std::string, Pod>>/65536 517456 ns 527169 ns 1114
BenchRange<tsl::sparse_map<std::string, Pod>>/1 2.37 ns 2.41 ns 291543233
BenchRange<tsl::sparse_map<std::string, Pod>>/8 6.50 ns 6.60 ns 93031328
BenchRange<tsl::sparse_map<std::string, Pod>>/64 52.5 ns 53.2 ns 13585399
BenchRange<tsl::sparse_map<std::string, Pod>>/512 485 ns 490 ns 1793132
BenchRange<tsl::sparse_map<std::string, Pod>>/4096 4060 ns 4091 ns 182411
BenchRange<tsl::sparse_map<std::string, Pod>>/32768 50214 ns 50482 ns 14260
BenchRange<tsl::sparse_map<std::string, Pod>>/65536 100544 ns 100929 ns 6208
BenchRange<tsl::ordered_map<std::string, Pod>>/1 1.43 ns 1.43 ns 485447622
BenchRange<tsl::ordered_map<std::string, Pod>>/8 4.46 ns 4.47 ns 157051429
BenchRange<tsl::ordered_map<std::string, Pod>>/64 27.3 ns 27.3 ns 18604401
BenchRange<tsl::ordered_map<std::string, Pod>>/512 255 ns 255 ns 3051814
BenchRange<tsl::ordered_map<std::string, Pod>>/4096 3305 ns 3302 ns 263206
BenchRange<tsl::ordered_map<std::string, Pod>>/32768 38074 ns 38004 ns 20904
BenchRange<tsl::ordered_map<std::string, Pod>>/65536 84406 ns 84202 ns 9414
BenchRange<folly::F14FastMap<std::string, Pod>>/1 0.929 ns 0.927 ns 803991649
BenchRange<folly::F14FastMap<std::string, Pod>>/8 3.03 ns 3.02 ns 223954482
BenchRange<folly::F14FastMap<std::string, Pod>>/64 11.8 ns 11.7 ns 68717840
BenchRange<folly::F14FastMap<std::string, Pod>>/512 102 ns 102 ns 8255816
BenchRange<folly::F14FastMap<std::string, Pod>>/4096 1389 ns 1383 ns 504430
BenchRange<folly::F14FastMap<std::string, Pod>>/32768 22410 ns 22309 ns 33435
BenchRange<folly::F14FastMap<std::string, Pod>>/65536 44534 ns 44321 ns 16127
BenchErase<std::map<std::string, Pod>>/1 75.2 ns 74.8 ns 10068258
BenchErase<std::map<std::string, Pod>>/8 156 ns 155 ns 4560251
BenchErase<std::map<std::string, Pod>>/64 262 ns 260 ns 2630350
BenchErase<std::map<std::string, Pod>>/512 352 ns 351 ns 1865096
BenchErase<std::map<std::string, Pod>>/4096 520 ns 517 ns 1172429
BenchErase<std::map<std::string, Pod>>/32768 1129 ns 1123 ns 619860
BenchErase<std::map<std::string, Pod>>/65536 1394 ns 1385 ns 530924
BenchErase<phmap::flat_hash_map<std::string, Pod>>/1 72.4 ns 72.0 ns 9626411
BenchErase<phmap::flat_hash_map<std::string, Pod>>/8 86.1 ns 85.6 ns 9896404
BenchErase<phmap::flat_hash_map<std::string, Pod>>/64 74.8 ns 74.4 ns 9482083
BenchErase<phmap::flat_hash_map<std::string, Pod>>/512 87.1 ns 86.9 ns 8295988
BenchErase<phmap::flat_hash_map<std::string, Pod>>/4096 110 ns 112 ns 4688052
BenchErase<phmap::flat_hash_map<std::string, Pod>>/32768 257 ns 261 ns 2665240
BenchErase<phmap::flat_hash_map<std::string, Pod>>/65536 384 ns 389 ns 2184088
BenchErase<phmap::btree_map<std::string, Pod>>/1 58.2 ns 58.8 ns 11070771
BenchErase<phmap::btree_map<std::string, Pod>>/8 104 ns 105 ns 6971438
BenchErase<phmap::btree_map<std::string, Pod>>/64 192 ns 193 ns 3586963
BenchErase<phmap::btree_map<std::string, Pod>>/512 280 ns 281 ns 2184219
BenchErase<phmap::btree_map<std::string, Pod>>/4096 467 ns 469 ns 1570894
BenchErase<phmap::btree_map<std::string, Pod>>/32768 661 ns 662 ns 1000137
BenchErase<phmap::btree_map<std::string, Pod>>/65536 955 ns 956 ns 734950
BenchErase<tsl::sparse_map<std::string, Pod>>/1 125 ns 125 ns 5651426
BenchErase<tsl::sparse_map<std::string, Pod>>/8 96.4 ns 96.4 ns 7501320
BenchErase<tsl::sparse_map<std::string, Pod>>/64 179 ns 179 ns 4377614
BenchErase<tsl::sparse_map<std::string, Pod>>/512 185 ns 184 ns 3842941
BenchErase<tsl::sparse_map<std::string, Pod>>/4096 235 ns 235 ns 3010199
BenchErase<tsl::sparse_map<std::string, Pod>>/32768 318 ns 317 ns 1925634
BenchErase<tsl::sparse_map<std::string, Pod>>/65536 408 ns 407 ns 1537878
BenchErase<tsl::ordered_map<std::string, Pod>>/1 71.8 ns 71.5 ns 10062021
BenchErase<tsl::ordered_map<std::string, Pod>>/8 147 ns 146 ns 4890300
BenchErase<tsl::ordered_map<std::string, Pod>>/64 441 ns 439 ns 1509466
BenchErase<tsl::ordered_map<std::string, Pod>>/512 2238 ns 2228 ns 305744
BenchErase<tsl::ordered_map<std::string, Pod>>/4096 24486 ns 24364 ns 30078
BenchErase<tsl::ordered_map<std::string, Pod>>/32768 208070 ns 206997 ns 3201
BenchErase<tsl::ordered_map<std::string, Pod>>/65536 492363 ns 489714 ns 1658
BenchErase<folly::F14FastMap<std::string, Pod>>/1 67.9 ns 67.5 ns 11308481
BenchErase<folly::F14FastMap<std::string, Pod>>/8 82.6 ns 82.1 ns 9418998
BenchErase<folly::F14FastMap<std::string, Pod>>/64 87.8 ns 87.2 ns 8251021
BenchErase<folly::F14FastMap<std::string, Pod>>/512 104 ns 104 ns 6657156
BenchErase<folly::F14FastMap<std::string, Pod>>/4096 173 ns 172 ns 3641350
BenchErase<folly::F14FastMap<std::string, Pod>>/32768 216 ns 214 ns 2865715
BenchErase<folly::F14FastMap<std::string, Pod>>/65536 261 ns 260 ns 2284662
BenchStringFind<std::string>/128 1346 ns 1338 ns 481840
BenchStringFind<std::string>/512 5599 ns 5565 ns 117352
BenchStringFind<std::string>/4096 43439 ns 44335 ns 15661
BenchStringFind<std::string>/32768 422792 ns 430039 ns 1915
BenchStringFind<std::string>/65536 713321 ns 723391 ns 786
BenchStringFind<folly::fbstring>/128 794 ns 803 ns 1050917
BenchStringFind<folly::fbstring>/512 4076 ns 4113 ns 163456
BenchStringFind<folly::fbstring>/4096 49536 ns 49862 ns 12005
BenchStringFind<folly::fbstring>/32768 737364 ns 741192 ns 1181
BenchStringFind<folly::fbstring>/65536 955629 ns 959396 ns 743