slotpoller 0.2.1

Bounded, lock-free futures collection. Faster than FuturesUnordered and other crates.
Documentation
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
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543

Performance guide and benchmarks.

If you just want to see the benchmarks, scroll down.

# Performance guide

This is a short guide, from my knowledge, on tuning the performance of polling libraries.

## Achieving good performance with SlotPoller

SlotPoller's main controllable factor is the buffer size. This is also known as the slot count, i.e. the `N` in `StackSlots<N, _>`.

Many other factors are definitely *not* bottlenecks. Allocation is upfront, so even if you use `HeapSlots`, allocation is fast. The poll algorithm is lock-free, so contention is unlikely to be a concern, and StackPoller performs well under contention according to benchmarks.

### Latency and cache usage

Your mileage will vary significantly depending on your application. However, it might be a good idea to start with a small buffer size. A tight cap is likely to deliver good latency and cache hits.

Let's suppose a future represents a client requests, which is a common pattern. With a small buffer size, existing client requests will have to complete before later ones can start. This has two benefits:
A.) Quick and stable responsiveness. It's unlikely that a single client request will (due to bad luck) spend a massive amount of time waiting. Gamers know this as "lag spikes."
B.) Good CPU cache usage. Fewer slots means the code jumps around less.

### Throughput and I/O ratios

An easy way to think of buffer size is to imagine the relation between I/O time and compute.

Does the application spend a lot of time in I/O? If so, many futures should be polled concurrently, so the CPU remains saturated with work. Conversely, if a given task is running for 50% of the time and sleeping for the other 50%, then it only makes sense to have 2 futures per thread.

If you measure how much time a future spends in `Poll::Pending`, and divide that by the total time, you essentially get the I/O time ratio described here. Inverting that ratio will give you way to think about sizing your poller.

If each future spends 90% of its time waiting and 10% active, then the poller size would be ideally capped around 10. This is assuming that wait times are constant.

### Final note

All of this depends on your application profile, which is why the hard work of *applying* these concepts is inevitable and ultimately your responsibility.

# Benchmarks

The benchmarks are located in the `benches/` directory of this repository.

### Disclaimer

Before comparing different libraries, a few observations should be made.

1. The async runtime can be a much bigger factor than the polling library. For example, Tokio's timers are considerably slower than smol's, and this can affect the benchmarks.
2. Real-world applications will always differ from benchmarks, not matter how hard we try to simulate real conditions.
3. Finding and fixing actual bottlemarks will always deliver better results, than merely picking shinier libraries.

That said, targeted benchmarks can show where one software element outpaces another, in isolation from other program components.

### Environment

I ran these tests on a Debian 11-based OS after a fresh boot on Intel i7-10710U (12) @ 4.700GHz, with 16GB of DDR4 RAM, using wall power.

### Libraries under test

For the zetanumbers benchmark, there are about a dozen different polling methods.

For the latency and memory benchmarks, there are 2 controls and 3 libraries, as follows.

Controls:
* The future that takes the longest to complete, ran by itself. This future just sleeps for the longest duration.
* A naive polling library that I wrote. It doesn't track which future was woken when it receives a wake-up, rather it just iterates over an array of futures until it finds the woken ones and polls them.

Libraries:
* `futures` - the well-known crate with FuturesUnordered
* `futures_buffered` - similar to this library in some ways; offers FuturesUnorderedBounded.
* `slotpoller` - this library

During the benchmarks, I also discovered pinning violations in a popular crate (`futures-concurrency`), so it had to be excluded from the results.

### Summary

SlotPoller regularly outperforms both `futures::FuturesUnordered` and `futures_buffered`, especially for multithreaded (contended) workloads. This is according to latency measurements that track poll/wake/completion overhead. By memory usage, SlotPoller is also the most efficient.

Finally, I adapted zetanumber's [futures-concurrency-benchmark](https://github.com/zetanumbers/futures-concurrency-benchmark) and included SlotPoller. Using this benchmark, SlotPoller is faster than several existing future combinators provided by runtimes and other crates.

## Latency

The poller is filled with futures. Each future sleeps for a short sequence of randomly generated durations. This simulates a real workload where tasks are woken up at varying intervals and are polled again thereafter. Futures only start sleeping when they are polled.

The benchmark measures how quickly all the futures can be polled to completion. Therefore, this is a latency benchmark. It measures the cost of the overhead to track pollable futures, poll them, wake them, and drop them.

Note that Tokio's timers are very slow compared to smol, so it may make more sense to look at the smol-related benchmarks.

### Latency - 1-thread benchmark

We start with a single-threaded run. Tasks are just plain timers.

Observations:
* SlotPoller usually performs best
* At some future counts using Tokio, futures-buffered performs slightly better than slotpoller

```
     Running benches/latency.rs (target/release/deps/latency-c6d3d63ba928bcd0)
Gnuplot not found, using plotters backend
with smol; latency of 1-thread 32-sized pool/(control = longest sequence)
                        time:   [222.75 µs 223.87 µs 224.89 µs]
Found 46 outliers among 256 measurements (17.97%)
  46 (17.97%) low mild
with smol; latency of 1-thread 32-sized pool/(control = simple lib)
                        time:   [196.23 µs 196.26 µs 196.29 µs]
Found 7 outliers among 256 measurements (2.73%)
  5 (1.95%) high mild
  2 (0.78%) high severe
with smol; latency of 1-thread 32-sized pool/futures
                        time:   [195.05 µs 195.08 µs 195.11 µs]
Found 11 outliers among 256 measurements (4.30%)
  5 (1.95%) high mild
  6 (2.34%) high severe
with smol; latency of 1-thread 32-sized pool/futures-buffered
                        time:   [193.10 µs 193.12 µs 193.14 µs]
Found 5 outliers among 256 measurements (1.95%)
  3 (1.17%) high mild
  2 (0.78%) high severe
with smol; latency of 1-thread 32-sized pool/slotpoller-stack
                        time:   [192.75 µs 192.77 µs 192.80 µs]
Found 25 outliers among 256 measurements (9.77%)
  3 (1.17%) low mild
  16 (6.25%) high mild
  6 (2.34%) high severe
with smol; latency of 1-thread 32-sized pool/slotpoller-heap
                        time:   [192.78 µs 192.81 µs 192.83 µs]
Found 22 outliers among 256 measurements (8.59%)
  1 (0.39%) low mild
  17 (6.64%) high mild
  4 (1.56%) high severe

with smol; latency of 1-thread 64-sized pool/(control = longest sequence)
                        time:   [235.71 µs 236.84 µs 237.92 µs]
Found 14 outliers among 256 measurements (5.47%)
  14 (5.47%) low mild
with smol; latency of 1-thread 64-sized pool/(control = simple lib)
                        time:   [232.10 µs 232.26 µs 232.42 µs]
Found 19 outliers among 256 measurements (7.42%)
  8 (3.12%) high mild
  11 (4.30%) high severe
with smol; latency of 1-thread 64-sized pool/futures
                        time:   [226.52 µs 226.64 µs 226.77 µs]
Found 50 outliers among 256 measurements (19.53%)
  1 (0.39%) low mild
  3 (1.17%) high mild
  46 (17.97%) high severe
with smol; latency of 1-thread 64-sized pool/futures-buffered
                        time:   [219.64 µs 219.70 µs 219.77 µs]
Found 30 outliers among 256 measurements (11.72%)
  14 (5.47%) high mild
  16 (6.25%) high severe
with smol; latency of 1-thread 64-sized pool/slotpoller-stack
                        time:   [218.73 µs 218.78 µs 218.84 µs]
Found 30 outliers among 256 measurements (11.72%)
  1 (0.39%) low mild
  6 (2.34%) high mild
  23 (8.98%) high severe
with smol; latency of 1-thread 64-sized pool/slotpoller-heap
                        time:   [218.57 µs 218.61 µs 218.66 µs]
Found 41 outliers among 256 measurements (16.02%)
  2 (0.78%) low mild
  9 (3.52%) high mild
  30 (11.72%) high severe

with smol; latency of 1-thread 128-sized pool/(control = longest sequence)
                        time:   [247.66 µs 248.46 µs 249.23 µs]
Found 5 outliers among 256 measurements (1.95%)
  2 (0.78%) low severe
  3 (1.17%) low mild
with smol; latency of 1-thread 128-sized pool/(control = simple lib)
                        time:   [341.67 µs 342.09 µs 342.55 µs]
Found 33 outliers among 256 measurements (12.89%)
  25 (9.77%) high mild
  8 (3.12%) high severe
with smol; latency of 1-thread 128-sized pool/futures
                        time:   [326.36 µs 326.43 µs 326.51 µs]
Found 25 outliers among 256 measurements (9.77%)
  4 (1.56%) low severe
  3 (1.17%) low mild
  4 (1.56%) high mild
  14 (5.47%) high severe
with smol; latency of 1-thread 128-sized pool/futures-buffered
                        time:   [306.28 µs 306.53 µs 306.83 µs]
Found 38 outliers among 256 measurements (14.84%)
  6 (2.34%) low mild
  9 (3.52%) high mild
  23 (8.98%) high severe
with smol; latency of 1-thread 128-sized pool/slotpoller-stack
                        time:   [301.62 µs 302.05 µs 302.50 µs]
Found 3 outliers among 256 measurements (1.17%)
  3 (1.17%) high mild
with smol; latency of 1-thread 128-sized pool/slotpoller-heap
                        time:   [300.33 µs 300.84 µs 301.39 µs]
Found 44 outliers among 256 measurements (17.19%)
  1 (0.39%) low mild
  5 (1.95%) high mild
  38 (14.84%) high severe

with smol; latency of 1-thread 256-sized pool/(control = longest sequence)
                        time:   [254.83 µs 255.85 µs 256.81 µs]
Found 10 outliers among 256 measurements (3.91%)
  8 (3.12%) low severe
  2 (0.78%) low mild
with smol; latency of 1-thread 256-sized pool/(control = simple lib)
                        time:   [589.15 µs 589.60 µs 590.10 µs]
Found 42 outliers among 256 measurements (16.41%)
  15 (5.86%) low severe
  2 (0.78%) low mild
  25 (9.77%) high severe
with smol; latency of 1-thread 256-sized pool/futures
                        time:   [558.55 µs 558.76 µs 558.97 µs]
Found 6 outliers among 256 measurements (2.34%)
  1 (0.39%) low mild
  4 (1.56%) high mild
  1 (0.39%) high severe
with smol; latency of 1-thread 256-sized pool/futures-buffered
                        time:   [519.58 µs 519.95 µs 520.38 µs]
Found 15 outliers among 256 measurements (5.86%)
  1 (0.39%) low severe
  2 (0.78%) high mild
  12 (4.69%) high severe
with smol; latency of 1-thread 256-sized pool/slotpoller-stack
                        time:   [492.11 µs 492.23 µs 492.36 µs]
Found 25 outliers among 256 measurements (9.77%)
  11 (4.30%) low severe
  6 (2.34%) low mild
  4 (1.56%) high mild
  4 (1.56%) high severe
with smol; latency of 1-thread 256-sized pool/slotpoller-heap
                        time:   [492.56 µs 493.02 µs 493.53 µs]
Found 24 outliers among 256 measurements (9.38%)
  2 (0.78%) low severe
  1 (0.39%) low mild
  3 (1.17%) high mild
  18 (7.03%) high severe

with smol; latency of 1-thread 512-sized pool/(control = longest sequence)
                        time:   [267.18 µs 267.81 µs 268.42 µs]
Found 2 outliers among 256 measurements (0.78%)
  2 (0.78%) low mild
with smol; latency of 1-thread 512-sized pool/(control = simple lib)
                        time:   [1.1243 ms 1.1255 ms 1.1266 ms]
Found 60 outliers among 256 measurements (23.44%)
  15 (5.86%) low severe
  12 (4.69%) low mild
  8 (3.12%) high mild
  25 (9.77%) high severe
with smol; latency of 1-thread 512-sized pool/futures
                        time:   [1.0642 ms 1.0647 ms 1.0653 ms]
Found 7 outliers among 256 measurements (2.73%)
  1 (0.39%) low severe
  3 (1.17%) low mild
  3 (1.17%) high severe
with smol; latency of 1-thread 512-sized pool/futures-buffered
                        time:   [981.04 µs 982.68 µs 984.39 µs]
Found 58 outliers among 256 measurements (22.66%)
  16 (6.25%) high mild
  42 (16.41%) high severe
with smol; latency of 1-thread 512-sized pool/slotpoller-stack
                        time:   [937.78 µs 940.45 µs 943.27 µs]
Found 60 outliers among 256 measurements (23.44%)
  60 (23.44%) high severe
with smol; latency of 1-thread 512-sized pool/slotpoller-heap
                        time:   [932.46 µs 933.68 µs 935.00 µs]
Found 34 outliers among 256 measurements (13.28%)
  18 (7.03%) high mild
  16 (6.25%) high severe

with smol; latency of 1-thread 1024-sized pool/(control = longest sequence)
                        time:   [273.42 µs 274.58 µs 275.66 µs]
Found 12 outliers among 256 measurements (4.69%)
  8 (3.12%) low severe
  4 (1.56%) low mild
with smol; latency of 1-thread 1024-sized pool/(control = simple lib)
                        time:   [2.1218 ms 2.1234 ms 2.1251 ms]
Found 33 outliers among 256 measurements (12.89%)
  13 (5.08%) high mild
  20 (7.81%) high severe
with smol; latency of 1-thread 1024-sized pool/futures
                        time:   [2.1187 ms 2.1250 ms 2.1323 ms]
Found 30 outliers among 256 measurements (11.72%)
  2 (0.78%) high mild
  28 (10.94%) high severe
with smol; latency of 1-thread 1024-sized pool/futures-buffered
                        time:   [1.9108 ms 1.9111 ms 1.9113 ms]
Found 15 outliers among 256 measurements (5.86%)
  4 (1.56%) low severe
  7 (2.73%) low mild
  3 (1.17%) high mild
  1 (0.39%) high severe
with smol; latency of 1-thread 1024-sized pool/slotpoller-stack
                        time:   [1.8441 ms 1.8451 ms 1.8462 ms]
Found 25 outliers among 256 measurements (9.77%)
  2 (0.78%) low mild
  1 (0.39%) high mild
  22 (8.59%) high severe
with smol; latency of 1-thread 1024-sized pool/slotpoller-heap
                        time:   [1.8380 ms 1.8385 ms 1.8391 ms]
Found 5 outliers among 256 measurements (1.95%)
  1 (0.39%) high mild
  4 (1.56%) high severe

with tokio; latency of 1-thread 32-sized pool/(control = longest sequence)
                        time:   [13.646 ms 13.673 ms 13.701 ms]
Found 5 outliers among 256 measurements (1.95%)
  5 (1.95%) low mild
with tokio; latency of 1-thread 32-sized pool/(control = simple lib)
                        time:   [14.756 ms 14.772 ms 14.787 ms]
Found 13 outliers among 256 measurements (5.08%)
  12 (4.69%) low mild
  1 (0.39%) high mild
with tokio; latency of 1-thread 32-sized pool/futures
                        time:   [14.775 ms 14.793 ms 14.810 ms]
Found 20 outliers among 256 measurements (7.81%)
  5 (1.95%) low severe
  15 (5.86%) low mild
with tokio; latency of 1-thread 32-sized pool/futures-buffered
                        time:   [14.765 ms 14.781 ms 14.796 ms]
Found 5 outliers among 256 measurements (1.95%)
  5 (1.95%) low mild
with tokio; latency of 1-thread 32-sized pool/slotpoller-stack
                        time:   [14.785 ms 14.798 ms 14.811 ms]
Found 5 outliers among 256 measurements (1.95%)
  5 (1.95%) low mild
with tokio; latency of 1-thread 32-sized pool/slotpoller-heap
                        time:   [14.773 ms 14.786 ms 14.799 ms]
Found 6 outliers among 256 measurements (2.34%)
  6 (2.34%) low mild

with tokio; latency of 1-thread 64-sized pool/(control = longest sequence)
                        time:   [14.042 ms 14.078 ms 14.115 ms]
Found 2 outliers among 256 measurements (0.78%)
  2 (0.78%) low mild
with tokio; latency of 1-thread 64-sized pool/(control = simple lib)
                        time:   [15.389 ms 15.407 ms 15.425 ms]
Found 9 outliers among 256 measurements (3.52%)
  7 (2.73%) low mild
  2 (0.78%) high mild
with tokio; latency of 1-thread 64-sized pool/futures
                        time:   [15.476 ms 15.493 ms 15.509 ms]
Found 4 outliers among 256 measurements (1.56%)
  3 (1.17%) low mild
  1 (0.39%) high mild
with tokio; latency of 1-thread 64-sized pool/futures-buffered
                        time:   [15.330 ms 15.343 ms 15.356 ms]
Found 3 outliers among 256 measurements (1.17%)
  1 (0.39%) low mild
  2 (0.78%) high mild
with tokio; latency of 1-thread 64-sized pool/slotpoller-stack
                        time:   [15.321 ms 15.337 ms 15.352 ms]
Found 3 outliers among 256 measurements (1.17%)
  3 (1.17%) low mild
with tokio; latency of 1-thread 64-sized pool/slotpoller-heap
                        time:   [15.348 ms 15.362 ms 15.377 ms]
Found 4 outliers among 256 measurements (1.56%)
  1 (0.39%) low severe
  3 (1.17%) low mild

with tokio; latency of 1-thread 128-sized pool/(control = longest sequence)
                        time:   [14.565 ms 14.599 ms 14.633 ms]
Found 3 outliers among 256 measurements (1.17%)
  3 (1.17%) low mild
with tokio; latency of 1-thread 128-sized pool/(control = simple lib)
                        time:   [16.328 ms 16.347 ms 16.365 ms]
Found 4 outliers among 256 measurements (1.56%)
  3 (1.17%) low mild
  1 (0.39%) high mild
with tokio; latency of 1-thread 128-sized pool/futures
                        time:   [16.370 ms 16.390 ms 16.409 ms]
Found 4 outliers among 256 measurements (1.56%)
  4 (1.56%) low mild
with tokio; latency of 1-thread 128-sized pool/futures-buffered
                        time:   [16.112 ms 16.130 ms 16.147 ms]
Found 14 outliers among 256 measurements (5.47%)
  5 (1.95%) low severe
  7 (2.73%) low mild
  2 (0.78%) high mild
with tokio; latency of 1-thread 128-sized pool/slotpoller-stack
                        time:   [16.103 ms 16.125 ms 16.146 ms]
Found 19 outliers among 256 measurements (7.42%)
  4 (1.56%) low severe
  14 (5.47%) low mild
  1 (0.39%) high mild
with tokio; latency of 1-thread 128-sized pool/slotpoller-heap
                        time:   [16.136 ms 16.152 ms 16.169 ms]
Found 9 outliers among 256 measurements (3.52%)
  6 (2.34%) low mild
  3 (1.17%) high mild

with tokio; latency of 1-thread 256-sized pool/(control = longest sequence)
                        time:   [15.135 ms 15.161 ms 15.188 ms]
Found 4 outliers among 256 measurements (1.56%)
  2 (0.78%) low mild
  2 (0.78%) high mild
with tokio; latency of 1-thread 256-sized pool/(control = simple lib)
                        time:   [16.890 ms 16.902 ms 16.914 ms]
Found 3 outliers among 256 measurements (1.17%)
  3 (1.17%) high mild
with tokio; latency of 1-thread 256-sized pool/futures
                        time:   [17.134 ms 17.148 ms 17.162 ms]
Found 10 outliers among 256 measurements (3.91%)
  1 (0.39%) low severe
  8 (3.12%) low mild
  1 (0.39%) high mild
with tokio; latency of 1-thread 256-sized pool/futures-buffered
                        time:   [16.920 ms 16.936 ms 16.952 ms]
Found 8 outliers among 256 measurements (3.12%)
  7 (2.73%) low mild
  1 (0.39%) high mild
with tokio; latency of 1-thread 256-sized pool/slotpoller-stack
                        time:   [16.882 ms 16.898 ms 16.913 ms]
Found 11 outliers among 256 measurements (4.30%)
  3 (1.17%) low severe
  5 (1.95%) low mild
  3 (1.17%) high mild
with tokio; latency of 1-thread 256-sized pool/slotpoller-heap
                        time:   [16.967 ms 16.983 ms 16.999 ms]
Found 5 outliers among 256 measurements (1.95%)
  1 (0.39%) low severe
  3 (1.17%) low mild
  1 (0.39%) high mild

with tokio; latency of 1-thread 512-sized pool/(control = longest sequence)
                        time:   [15.669 ms 15.698 ms 15.726 ms]
Found 4 outliers among 256 measurements (1.56%)
  4 (1.56%) low mild
with tokio; latency of 1-thread 512-sized pool/(control = simple lib)
                        time:   [19.055 ms 19.079 ms 19.102 ms]
Found 4 outliers among 256 measurements (1.56%)
  4 (1.56%) low mild
with tokio; latency of 1-thread 512-sized pool/futures
                        time:   [18.735 ms 18.759 ms 18.782 ms]
with tokio; latency of 1-thread 512-sized pool/futures-buffered
                        time:   [17.777 ms 17.792 ms 17.808 ms]
Found 5 outliers among 256 measurements (1.95%)
  2 (0.78%) low mild
  3 (1.17%) high mild
with tokio; latency of 1-thread 512-sized pool/slotpoller-stack
                        time:   [18.012 ms 18.027 ms 18.042 ms]
Found 10 outliers among 256 measurements (3.91%)
  3 (1.17%) low severe
  5 (1.95%) low mild
  2 (0.78%) high mild
with tokio; latency of 1-thread 512-sized pool/slotpoller-heap
                        time:   [18.075 ms 18.087 ms 18.099 ms]
Found 11 outliers among 256 measurements (4.30%)
  7 (2.73%) low mild
  3 (1.17%) high mild
  1 (0.39%) high severe

with tokio; latency of 1-thread 1024-sized pool/(control = longest sequence)
                        time:   [16.289 ms 16.319 ms 16.349 ms]
Found 3 outliers among 256 measurements (1.17%)
  2 (0.78%) low mild
  1 (0.39%) high mild
with tokio; latency of 1-thread 1024-sized pool/(control = simple lib)
                        time:   [21.398 ms 21.426 ms 21.454 ms]
Found 2 outliers among 256 measurements (0.78%)
  2 (0.78%) low mild
with tokio; latency of 1-thread 1024-sized pool/futures
                        time:   [21.315 ms 21.345 ms 21.375 ms]
Found 17 outliers among 256 measurements (6.64%)
  2 (0.78%) low severe
  15 (5.86%) low mild
with tokio; latency of 1-thread 1024-sized pool/futures-buffered
                        time:   [20.518 ms 20.558 ms 20.596 ms]
Found 10 outliers among 256 measurements (3.91%)
  6 (2.34%) low severe
  4 (1.56%) low mild
with tokio; latency of 1-thread 1024-sized pool/slotpoller-stack
                        time:   [21.993 ms 22.059 ms 22.123 ms]
Found 15 outliers among 256 measurements (5.86%)
  3 (1.17%) low severe
  12 (4.69%) low mild
with tokio; latency of 1-thread 1024-sized pool/slotpoller-heap
                        time:   [22.144 ms 22.203 ms 22.259 ms]
Found 12 outliers among 256 measurements (4.69%)
  3 (1.17%) low severe
  9 (3.52%) low mild
```

### Latency - mild contention benchmark

Same as the previous, but 80% of futures are spawned as new tasks on the runtime. This means wake-ups are subject to mild contention, and futures have additional code paths.

The smol runtime uses a single background thread (in addition to the main thread). With Tokio, we use the current-thread flavor, which is technically just 1 thread, but it simulates probable Tokio usage.

```

with smol; latency of 2-thread 32-sized pool/(control = longest sequence)
                        time:   [221.98 µs 223.37 µs 224.60 µs]
Found 25 outliers among 256 measurements (9.77%)
  15 (5.86%) low severe
  10 (3.91%) low mild
with smol; latency of 2-thread 32-sized pool/(control = simple lib)
                        time:   [231.51 µs 231.67 µs 231.80 µs]
with smol; latency of 2-thread 32-sized pool/futures
                        time:   [231.63 µs 231.73 µs 231.83 µs]
Found 3 outliers among 256 measurements (1.17%)
  1 (0.39%) low mild
  1 (0.39%) high mild
  1 (0.39%) high severe
with smol; latency of 2-thread 32-sized pool/futures-buffered
                        time:   [231.17 µs 231.27 µs 231.37 µs]
Found 5 outliers among 256 measurements (1.95%)
  3 (1.17%) high mild
  2 (0.78%) high severe
with smol; latency of 2-thread 32-sized pool/slotpoller-stack
                        time:   [230.64 µs 230.74 µs 230.84 µs]
Found 3 outliers among 256 measurements (1.17%)
  1 (0.39%) high mild
  2 (0.78%) high severe
with smol; latency of 2-thread 32-sized pool/slotpoller-heap
                        time:   [230.81 µs 230.91 µs 231.00 µs]
Found 3 outliers among 256 measurements (1.17%)
  1 (0.39%) high mild
  2 (0.78%) high severe

with smol; latency of 2-thread 64-sized pool/(control = longest sequence)
                        time:   [234.49 µs 236.11 µs 237.55 µs]
Found 20 outliers among 256 measurements (7.81%)
  20 (7.81%) low mild
with smol; latency of 2-thread 64-sized pool/(control = simple lib)
                        time:   [271.85 µs 272.15 µs 272.42 µs]
with smol; latency of 2-thread 64-sized pool/futures
                        time:   [270.65 µs 270.84 µs 271.02 µs]
Found 4 outliers among 256 measurements (1.56%)
  4 (1.56%) high mild
with smol; latency of 2-thread 64-sized pool/futures-buffered
                        time:   [268.15 µs 268.29 µs 268.43 µs]
with smol; latency of 2-thread 64-sized pool/slotpoller-stack
                        time:   [267.89 µs 268.05 µs 268.21 µs]
Found 6 outliers among 256 measurements (2.34%)
  5 (1.95%) high mild
  1 (0.39%) high severe
with smol; latency of 2-thread 64-sized pool/slotpoller-heap
                        time:   [267.99 µs 268.16 µs 268.32 µs]
Found 4 outliers among 256 measurements (1.56%)
  1 (0.39%) low mild
  2 (0.78%) high mild
  1 (0.39%) high severe

with smol; latency of 2-thread 128-sized pool/(control = longest sequence)
                        time:   [246.65 µs 247.58 µs 248.45 µs]
Found 4 outliers among 256 measurements (1.56%)
  2 (0.78%) low severe
  2 (0.78%) low mild
with smol; latency of 2-thread 128-sized pool/(control = simple lib)
                        time:   [381.51 µs 382.12 µs 382.71 µs]
with smol; latency of 2-thread 128-sized pool/futures
                        time:   [382.17 µs 382.67 µs 383.17 µs]
Found 2 outliers among 256 measurements (0.78%)
  1 (0.39%) high mild
  1 (0.39%) high severe
with smol; latency of 2-thread 128-sized pool/futures-buffered
                        time:   [382.24 µs 382.85 µs 383.51 µs]
Found 8 outliers among 256 measurements (3.12%)
  8 (3.12%) high mild
with smol; latency of 2-thread 128-sized pool/slotpoller-stack
                        time:   [378.89 µs 379.45 µs 379.99 µs]
with smol; latency of 2-thread 128-sized pool/slotpoller-heap
                        time:   [379.14 µs 379.73 µs 380.33 µs]
Found 3 outliers among 256 measurements (1.17%)
  1 (0.39%) low mild
  2 (0.78%) high mild

with smol; latency of 2-thread 256-sized pool/(control = longest sequence)
                        time:   [258.14 µs 259.05 µs 259.91 µs]
Found 7 outliers among 256 measurements (2.73%)
  3 (1.17%) low severe
  4 (1.56%) low mild
with smol; latency of 2-thread 256-sized pool/(control = simple lib)
                        time:   [657.44 µs 659.64 µs 661.78 µs]
Found 28 outliers among 256 measurements (10.94%)
  28 (10.94%) low mild
with smol; latency of 2-thread 256-sized pool/futures
                        time:   [664.71 µs 665.52 µs 666.34 µs]
Found 31 outliers among 256 measurements (12.11%)
  15 (5.86%) low mild
  13 (5.08%) high mild
  3 (1.17%) high severe
with smol; latency of 2-thread 256-sized pool/futures-buffered
                        time:   [663.30 µs 664.12 µs 664.94 µs]
with smol; latency of 2-thread 256-sized pool/slotpoller-stack
                        time:   [653.44 µs 654.26 µs 655.10 µs]
Found 2 outliers among 256 measurements (0.78%)
  2 (0.78%) high mild
with smol; latency of 2-thread 256-sized pool/slotpoller-heap
                        time:   [656.75 µs 657.94 µs 659.16 µs]
Found 4 outliers among 256 measurements (1.56%)
  4 (1.56%) high mild

with smol; latency of 2-thread 512-sized pool/(control = longest sequence)
                        time:   [265.58 µs 266.87 µs 268.07 µs]
Found 17 outliers among 256 measurements (6.64%)
  13 (5.08%) low severe
  4 (1.56%) low mild
with smol; latency of 2-thread 512-sized pool/(control = simple lib)
                        time:   [1.2091 ms 1.2128 ms 1.2164 ms]
with smol; latency of 2-thread 512-sized pool/futures
                        time:   [1.2368 ms 1.2386 ms 1.2406 ms]
Found 8 outliers among 256 measurements (3.12%)
  6 (2.34%) high mild
  2 (0.78%) high severe
with smol; latency of 2-thread 512-sized pool/futures-buffered
                        time:   [1.2342 ms 1.2353 ms 1.2364 ms]
Found 6 outliers among 256 measurements (2.34%)
  5 (1.95%) high mild
  1 (0.39%) high severe
with smol; latency of 2-thread 512-sized pool/slotpoller-stack
                        time:   [1.2233 ms 1.2248 ms 1.2263 ms]
Found 1 outliers among 256 measurements (0.39%)
  1 (0.39%) high mild
with smol; latency of 2-thread 512-sized pool/slotpoller-heap
                        time:   [1.2260 ms 1.2272 ms 1.2284 ms]
Found 1 outliers among 256 measurements (0.39%)
  1 (0.39%) high severe

with smol; latency of 2-thread 1024-sized pool/(control = longest sequence)
                        time:   [276.61 µs 277.77 µs 278.85 µs]
Found 11 outliers among 256 measurements (4.30%)
  11 (4.30%) low mild
with smol; latency of 2-thread 1024-sized pool/(control = simple lib)
                        time:   [2.2341 ms 2.2374 ms 2.2407 ms]
Found 25 outliers among 256 measurements (9.77%)
  24 (9.38%) low mild
  1 (0.39%) high mild
with smol; latency of 2-thread 1024-sized pool/futures
                        time:   [2.4784 ms 2.4830 ms 2.4878 ms]
Found 11 outliers among 256 measurements (4.30%)
  11 (4.30%) high mild
with smol; latency of 2-thread 1024-sized pool/futures-buffered
                        time:   [2.3754 ms 2.3785 ms 2.3816 ms]
with smol; latency of 2-thread 1024-sized pool/slotpoller-stack
                        time:   [2.3833 ms 2.3861 ms 2.3890 ms]
Found 1 outliers among 256 measurements (0.39%)
  1 (0.39%) high severe
with smol; latency of 2-thread 1024-sized pool/slotpoller-heap
                        time:   [2.3766 ms 2.3800 ms 2.3834 ms]
Found 5 outliers among 256 measurements (1.95%)
  5 (1.95%) high mild

with tokio; latency of 2-thread 32-sized pool/(control = longest sequence)
                        time:   [13.840 ms 13.868 ms 13.895 ms]
Found 3 outliers among 256 measurements (1.17%)
  3 (1.17%) low mild
with tokio; latency of 2-thread 32-sized pool/(control = simple lib)
                        time:   [14.279 ms 14.292 ms 14.305 ms]
Found 1 outliers among 256 measurements (0.39%)
  1 (0.39%) low mild
with tokio; latency of 2-thread 32-sized pool/futures
                        time:   [14.282 ms 14.294 ms 14.307 ms]
Found 1 outliers among 256 measurements (0.39%)
  1 (0.39%) low mild
with tokio; latency of 2-thread 32-sized pool/futures-buffered
                        time:   [14.261 ms 14.274 ms 14.286 ms]
with tokio; latency of 2-thread 32-sized pool/slotpoller-stack
                        time:   [14.251 ms 14.263 ms 14.275 ms]
Found 2 outliers among 256 measurements (0.78%)
  2 (0.78%) low mild
with tokio; latency of 2-thread 32-sized pool/slotpoller-heap
                        time:   [14.226 ms 14.237 ms 14.249 ms]

with tokio; latency of 2-thread 64-sized pool/(control = longest sequence)
                        time:   [14.798 ms 14.819 ms 14.840 ms]
Found 7 outliers among 256 measurements (2.73%)
  7 (2.73%) low mild
with tokio; latency of 2-thread 64-sized pool/(control = simple lib)
                        time:   [15.284 ms 15.292 ms 15.300 ms]
Found 2 outliers among 256 measurements (0.78%)
  2 (0.78%) high mild
with tokio; latency of 2-thread 64-sized pool/futures
                        time:   [15.257 ms 15.267 ms 15.276 ms]
Found 4 outliers among 256 measurements (1.56%)
  4 (1.56%) low mild
with tokio; latency of 2-thread 64-sized pool/futures-buffered
                        time:   [15.258 ms 15.267 ms 15.276 ms]
Found 3 outliers among 256 measurements (1.17%)
  2 (0.78%) low mild
  1 (0.39%) high mild
with tokio; latency of 2-thread 64-sized pool/slotpoller-stack
                        time:   [15.254 ms 15.264 ms 15.274 ms]
Found 1 outliers among 256 measurements (0.39%)
  1 (0.39%) low mild
with tokio; latency of 2-thread 64-sized pool/slotpoller-heap
                        time:   [15.253 ms 15.262 ms 15.272 ms]
Found 4 outliers among 256 measurements (1.56%)
  1 (0.39%) low mild
  3 (1.17%) high mild

with tokio; latency of 2-thread 128-sized pool/(control = longest sequence)
                        time:   [14.500 ms 14.529 ms 14.557 ms]
Found 1 outliers among 256 measurements (0.39%)
  1 (0.39%) low mild
with tokio; latency of 2-thread 128-sized pool/(control = simple lib)
                        time:   [16.098 ms 16.112 ms 16.125 ms]
Found 7 outliers among 256 measurements (2.73%)
  4 (1.56%) low mild
  3 (1.17%) high mild
with tokio; latency of 2-thread 128-sized pool/futures
                        time:   [16.003 ms 16.019 ms 16.034 ms]
Found 12 outliers among 256 measurements (4.69%)
  5 (1.95%) low severe
  4 (1.56%) low mild
  3 (1.17%) high mild
with tokio; latency of 2-thread 128-sized pool/futures-buffered
                        time:   [15.977 ms 15.992 ms 16.006 ms]
Found 6 outliers among 256 measurements (2.34%)
  1 (0.39%) low severe
  5 (1.95%) low mild
with tokio; latency of 2-thread 128-sized pool/slotpoller-stack
                        time:   [15.967 ms 15.985 ms 16.002 ms]
Found 13 outliers among 256 measurements (5.08%)
  7 (2.73%) low severe
  5 (1.95%) low mild
  1 (0.39%) high mild
with tokio; latency of 2-thread 128-sized pool/slotpoller-heap
                        time:   [15.931 ms 15.952 ms 15.972 ms]
Found 16 outliers among 256 measurements (6.25%)
  8 (3.12%) low severe
  8 (3.12%) low mild

with tokio; latency of 2-thread 256-sized pool/(control = longest sequence)
                        time:   [15.011 ms 15.035 ms 15.059 ms]
Found 2 outliers among 256 measurements (0.78%)
  2 (0.78%) low mild
with tokio; latency of 2-thread 256-sized pool/(control = simple lib)
                        time:   [17.524 ms 17.535 ms 17.545 ms]
Found 5 outliers among 256 measurements (1.95%)
  1 (0.39%) low severe
  4 (1.56%) low mild
with tokio; latency of 2-thread 256-sized pool/futures
                        time:   [17.451 ms 17.461 ms 17.472 ms]
Found 5 outliers among 256 measurements (1.95%)
  1 (0.39%) low severe
  3 (1.17%) low mild
  1 (0.39%) high mild
with tokio; latency of 2-thread 256-sized pool/futures-buffered
                        time:   [17.352 ms 17.363 ms 17.374 ms]
Found 6 outliers among 256 measurements (2.34%)
  2 (0.78%) low severe
  3 (1.17%) low mild
  1 (0.39%) high mild
with tokio; latency of 2-thread 256-sized pool/slotpoller-stack
                        time:   [17.333 ms 17.343 ms 17.354 ms]
Found 4 outliers among 256 measurements (1.56%)
  1 (0.39%) low severe
  3 (1.17%) low mild
with tokio; latency of 2-thread 256-sized pool/slotpoller-heap
                        time:   [17.331 ms 17.341 ms 17.352 ms]
Found 3 outliers among 256 measurements (1.17%)
  3 (1.17%) low mild

with tokio; latency of 2-thread 512-sized pool/(control = longest sequence)
                        time:   [15.416 ms 15.445 ms 15.473 ms]
Found 1 outliers among 256 measurements (0.39%)
  1 (0.39%) low mild
with tokio; latency of 2-thread 512-sized pool/(control = simple lib)
                        time:   [20.017 ms 20.046 ms 20.076 ms]
Found 5 outliers among 256 measurements (1.95%)
  1 (0.39%) low mild
  4 (1.56%) high mild
with tokio; latency of 2-thread 512-sized pool/futures
                        time:   [20.725 ms 20.750 ms 20.774 ms]
with tokio; latency of 2-thread 512-sized pool/futures-buffered
                        time:   [20.523 ms 20.548 ms 20.574 ms]
Found 2 outliers among 256 measurements (0.78%)
  2 (0.78%) high mild
with tokio; latency of 2-thread 512-sized pool/slotpoller-stack
                        time:   [20.469 ms 20.493 ms 20.517 ms]
Found 3 outliers among 256 measurements (1.17%)
  3 (1.17%) high mild
with tokio; latency of 2-thread 512-sized pool/slotpoller-heap
                        time:   [20.469 ms 20.493 ms 20.518 ms]
Found 4 outliers among 256 measurements (1.56%)
  4 (1.56%) high mild

with tokio; latency of 2-thread 1024-sized pool/(control = longest sequence)
                        time:   [16.011 ms 16.040 ms 16.070 ms]
with tokio; latency of 2-thread 1024-sized pool/(control = simple lib)
                        time:   [22.129 ms 22.159 ms 22.188 ms]
Found 13 outliers among 256 measurements (5.08%)
  13 (5.08%) low mild
with tokio; latency of 2-thread 1024-sized pool/futures
                        time:   [20.648 ms 20.686 ms 20.724 ms]
with tokio; latency of 2-thread 1024-sized pool/futures-buffered
                        time:   [20.522 ms 20.566 ms 20.610 ms]
Found 1 outliers among 256 measurements (0.39%)
  1 (0.39%) low mild
with tokio; latency of 2-thread 1024-sized pool/slotpoller-stack
                        time:   [20.474 ms 20.519 ms 20.563 ms]
with tokio; latency of 2-thread 1024-sized pool/slotpoller-heap
                        time:   [20.391 ms 20.441 ms 20.491 ms]
```

### Latency - contended benchmark

Same as previous, except the level of parallelism is raised to `std::thread::available_parallelism()`. The main thread is used for the poller, and the async runtime can take advantage of `parallelism - 1` threads.

This generates a high level of contention. On my machine, parallelism = 12.

```
     Running benches/latency_parallelized.rs (target/release/deps/latency_parallelized-c18c83b881c34436)
Gnuplot not found, using plotters backend
with smol; latency of parallelized 32-sized pool/(control = longest sequence)
                        time:   [218.88 µs 220.42 µs 221.83 µs]
Found 25 outliers among 256 measurements (9.77%)
  17 (6.64%) low severe
  7 (2.73%) low mild
  1 (0.39%) high mild
with smol; latency of parallelized 32-sized pool/(control = simple lib)
                        time:   [272.53 µs 272.97 µs 273.38 µs]
with smol; latency of parallelized 32-sized pool/futures
                        time:   [273.94 µs 274.24 µs 274.54 µs]
Found 8 outliers among 256 measurements (3.12%)
  4 (1.56%) low mild
  3 (1.17%) high mild
  1 (0.39%) high severe
with smol; latency of parallelized 32-sized pool/futures-buffered
                        time:   [271.70 µs 272.09 µs 272.52 µs]
Found 16 outliers among 256 measurements (6.25%)
  2 (0.78%) low mild
  1 (0.39%) high mild
  13 (5.08%) high severe
with smol; latency of parallelized 32-sized pool/slotpoller-stack
                        time:   [270.51 µs 270.82 µs 271.13 µs]
Found 10 outliers among 256 measurements (3.91%)
  3 (1.17%) low mild
  4 (1.56%) high mild
  3 (1.17%) high severe
with smol; latency of parallelized 32-sized pool/slotpoller-heap
                        time:   [270.74 µs 271.05 µs 271.36 µs]
Found 11 outliers among 256 measurements (4.30%)
  4 (1.56%) low mild
  7 (2.73%) high mild

with smol; latency of parallelized 64-sized pool/(control = longest sequence)
                        time:   [229.86 µs 231.55 µs 233.08 µs]
Found 26 outliers among 256 measurements (10.16%)
  26 (10.16%) low mild
with smol; latency of parallelized 64-sized pool/(control = simple lib)
                        time:   [355.07 µs 355.82 µs 356.55 µs]
with smol; latency of parallelized 64-sized pool/futures
                        time:   [354.79 µs 355.49 µs 356.19 µs]
Found 7 outliers among 256 measurements (2.73%)
  4 (1.56%) low mild
  3 (1.17%) high mild
with smol; latency of parallelized 64-sized pool/futures-buffered
                        time:   [346.23 µs 346.99 µs 347.73 µs]
Found 4 outliers among 256 measurements (1.56%)
  1 (0.39%) low mild
  3 (1.17%) high mild
with smol; latency of parallelized 64-sized pool/slotpoller-stack
                        time:   [344.11 µs 344.71 µs 345.32 µs]
Found 10 outliers among 256 measurements (3.91%)
  2 (0.78%) low mild
  8 (3.12%) high mild
with smol; latency of parallelized 64-sized pool/slotpoller-heap
                        time:   [344.51 µs 345.20 µs 345.90 µs]
Found 4 outliers among 256 measurements (1.56%)
  1 (0.39%) low mild
  3 (1.17%) high mild

with smol; latency of parallelized 128-sized pool/(control = longest sequence)
                        time:   [242.91 µs 244.16 µs 245.24 µs]
Found 16 outliers among 256 measurements (6.25%)
  7 (2.73%) low severe
  9 (3.52%) low mild
with smol; latency of parallelized 128-sized pool/(control = simple lib)
                        time:   [565.10 µs 565.98 µs 566.72 µs]
with smol; latency of parallelized 128-sized pool/futures
                        time:   [572.20 µs 572.41 µs 572.64 µs]
Found 17 outliers among 256 measurements (6.64%)
  6 (2.34%) low severe
  4 (1.56%) low mild
  5 (1.95%) high mild
  2 (0.78%) high severe
with smol; latency of parallelized 128-sized pool/futures-buffered
                        time:   [561.51 µs 561.75 µs 561.99 µs]
Found 12 outliers among 256 measurements (4.69%)
  3 (1.17%) low severe
  6 (2.34%) low mild
  1 (0.39%) high mild
  2 (0.78%) high severe
with smol; latency of parallelized 128-sized pool/slotpoller-stack
                        time:   [555.62 µs 555.85 µs 556.08 µs]
Found 9 outliers among 256 measurements (3.52%)
  3 (1.17%) low severe
  4 (1.56%) low mild
  1 (0.39%) high mild
  1 (0.39%) high severe
with smol; latency of parallelized 128-sized pool/slotpoller-heap
                        time:   [554.54 µs 554.75 µs 554.96 µs]
Found 12 outliers among 256 measurements (4.69%)
  1 (0.39%) low mild
  9 (3.52%) high mild
  2 (0.78%) high severe

with smol; latency of parallelized 256-sized pool/(control = longest sequence)
                        time:   [252.76 µs 253.84 µs 254.86 µs]
Found 17 outliers among 256 measurements (6.64%)
  8 (3.12%) low severe
  9 (3.52%) low mild
with smol; latency of parallelized 256-sized pool/(control = simple lib)
                        time:   [964.14 µs 968.78 µs 973.12 µs]
Found 37 outliers among 256 measurements (14.45%)
  32 (12.50%) low severe
  5 (1.95%) high mild
with smol; latency of parallelized 256-sized pool/futures
                        time:   [1.2061 ms 1.2196 ms 1.2330 ms]
with smol; latency of parallelized 256-sized pool/futures-buffered
                        time:   [1.0145 ms 1.0203 ms 1.0257 ms]
Found 103 outliers among 256 measurements (40.23%)
  45 (17.58%) low severe
  7 (2.73%) low mild
  3 (1.17%) high mild
  48 (18.75%) high severe
with smol; latency of parallelized 256-sized pool/slotpoller-stack
                        time:   [1.0097 ms 1.0151 ms 1.0203 ms]
Found 108 outliers among 256 measurements (42.19%)
  42 (16.41%) low severe
  4 (1.56%) low mild
  1 (0.39%) high mild
  61 (23.83%) high severe
with smol; latency of parallelized 256-sized pool/slotpoller-heap
                        time:   [1.0089 ms 1.0147 ms 1.0204 ms]
Found 95 outliers among 256 measurements (37.11%)
  37 (14.45%) low severe
  8 (3.12%) low mild
  2 (0.78%) high mild
  48 (18.75%) high severe

with smol; latency of parallelized 512-sized pool/(control = longest sequence)
                        time:   [262.67 µs 263.90 µs 265.07 µs]
Found 16 outliers among 256 measurements (6.25%)
  16 (6.25%) low mild
with smol; latency of parallelized 512-sized pool/(control = simple lib)
                        time:   [1.7103 ms 1.7125 ms 1.7149 ms]
Found 26 outliers among 256 measurements (10.16%)
  1 (0.39%) low severe
  1 (0.39%) low mild
  7 (2.73%) high mild
  17 (6.64%) high severe
with smol; latency of parallelized 512-sized pool/futures
                        time:   [1.9617 ms 1.9727 ms 1.9834 ms]
Found 28 outliers among 256 measurements (10.94%)
  28 (10.94%) low mild
with smol; latency of parallelized 512-sized pool/futures-buffered
                        time:   [1.8924 ms 1.8949 ms 1.8972 ms]
Found 9 outliers among 256 measurements (3.52%)
  2 (0.78%) low severe
  6 (2.34%) low mild
  1 (0.39%) high severe
with smol; latency of parallelized 512-sized pool/slotpoller-stack
                        time:   [1.8792 ms 1.8860 ms 1.8923 ms]
Found 49 outliers among 256 measurements (19.14%)
  32 (12.50%) low severe
  5 (1.95%) low mild
  2 (0.78%) high mild
  10 (3.91%) high severe
with smol; latency of parallelized 512-sized pool/slotpoller-heap
                        time:   [1.8850 ms 1.8930 ms 1.9005 ms]
Found 60 outliers among 256 measurements (23.44%)
  30 (11.72%) low severe
  5 (1.95%) low mild
  25 (9.77%) high severe

with smol; latency of parallelized 1024-sized pool/(control = longest sequence)
                        time:   [273.77 µs 274.97 µs 276.08 µs]
Found 15 outliers among 256 measurements (5.86%)
  6 (2.34%) low severe
  9 (3.52%) low mild
with smol; latency of parallelized 1024-sized pool/(control = simple lib)
                        time:   [3.1040 ms 3.1214 ms 3.1397 ms]
Found 44 outliers among 256 measurements (17.19%)
  44 (17.19%) high severe
with smol; latency of parallelized 1024-sized pool/futures
                        time:   [4.7582 ms 4.7614 ms 4.7648 ms]
Found 10 outliers among 256 measurements (3.91%)
  3 (1.17%) low mild
  4 (1.56%) high mild
  3 (1.17%) high severe
with smol; latency of parallelized 1024-sized pool/futures-buffered
                        time:   [3.5390 ms 3.5593 ms 3.5781 ms]
Found 55 outliers among 256 measurements (21.48%)
  53 (20.70%) low severe
  1 (0.39%) low mild
  1 (0.39%) high severe
with smol; latency of parallelized 1024-sized pool/slotpoller-stack
                        time:   [3.6421 ms 3.6444 ms 3.6467 ms]
Found 3 outliers among 256 measurements (1.17%)
  3 (1.17%) high mild
with smol; latency of parallelized 1024-sized pool/slotpoller-heap
                        time:   [3.6339 ms 3.6372 ms 3.6399 ms]
Found 3 outliers among 256 measurements (1.17%)
  1 (0.39%) low severe
  1 (0.39%) low mild
  1 (0.39%) high mild

with tokio; latency of parallelized 32-sized pool/(control = longest sequence)
                        time:   [13.799 ms 13.815 ms 13.831 ms]
Found 3 outliers among 256 measurements (1.17%)
  2 (0.78%) low mild
  1 (0.39%) high mild
with tokio; latency of parallelized 32-sized pool/(control = simple lib)
                        time:   [14.235 ms 14.248 ms 14.261 ms]
with tokio; latency of parallelized 32-sized pool/futures
                        time:   [14.201 ms 14.213 ms 14.225 ms]
with tokio; latency of parallelized 32-sized pool/futures-buffered
                        time:   [14.186 ms 14.198 ms 14.211 ms]
with tokio; latency of parallelized 32-sized pool/slotpoller-stack
                        time:   [14.194 ms 14.206 ms 14.219 ms]
with tokio; latency of parallelized 32-sized pool/slotpoller-heap
                        time:   [14.197 ms 14.209 ms 14.221 ms]

with tokio; latency of parallelized 64-sized pool/(control = longest sequence)
                        time:   [14.609 ms 14.631 ms 14.652 ms]
Found 7 outliers among 256 measurements (2.73%)
  7 (2.73%) low mild
with tokio; latency of parallelized 64-sized pool/(control = simple lib)
                        time:   [15.312 ms 15.327 ms 15.343 ms]
with tokio; latency of parallelized 64-sized pool/futures
                        time:   [15.290 ms 15.305 ms 15.321 ms]
with tokio; latency of parallelized 64-sized pool/futures-buffered
                        time:   [15.286 ms 15.301 ms 15.315 ms]
with tokio; latency of parallelized 64-sized pool/slotpoller-stack
                        time:   [15.281 ms 15.296 ms 15.311 ms]
with tokio; latency of parallelized 64-sized pool/slotpoller-heap
                        time:   [15.242 ms 15.270 ms 15.294 ms]
Found 4 outliers among 256 measurements (1.56%)
  4 (1.56%) low severe

with tokio; latency of parallelized 128-sized pool/(control = longest sequence)
                        time:   [15.170 ms 15.193 ms 15.215 ms]
Found 5 outliers among 256 measurements (1.95%)
  5 (1.95%) low mild
with tokio; latency of parallelized 128-sized pool/(control = simple lib)
                        time:   [16.608 ms 16.623 ms 16.639 ms]
with tokio; latency of parallelized 128-sized pool/futures
                        time:   [16.486 ms 16.502 ms 16.519 ms]
with tokio; latency of parallelized 128-sized pool/futures-buffered
                        time:   [16.438 ms 16.455 ms 16.472 ms]
with tokio; latency of parallelized 128-sized pool/slotpoller-stack
                        time:   [16.402 ms 16.417 ms 16.433 ms]
with tokio; latency of parallelized 128-sized pool/slotpoller-heap
                        time:   [16.389 ms 16.406 ms 16.422 ms]

with tokio; latency of parallelized 256-sized pool/(control = longest sequence)
                        time:   [15.797 ms 15.813 ms 15.827 ms]
Found 2 outliers among 256 measurements (0.78%)
  1 (0.39%) low severe
  1 (0.39%) high mild
with tokio; latency of parallelized 256-sized pool/(control = simple lib)
                        time:   [16.823 ms 16.833 ms 16.844 ms]
Found 1 outliers among 256 measurements (0.39%)
  1 (0.39%) low severe
with tokio; latency of parallelized 256-sized pool/futures
                        time:   [16.800 ms 16.809 ms 16.818 ms]
Found 3 outliers among 256 measurements (1.17%)
  2 (0.78%) low mild
  1 (0.39%) high mild
with tokio; latency of parallelized 256-sized pool/futures-buffered
                        time:   [16.742 ms 16.751 ms 16.759 ms]
Found 4 outliers among 256 measurements (1.56%)
  2 (0.78%) low mild
  2 (0.78%) high mild
with tokio; latency of parallelized 256-sized pool/slotpoller-stack
                        time:   [16.735 ms 16.744 ms 16.752 ms]
Found 3 outliers among 256 measurements (1.17%)
  3 (1.17%) low mild
with tokio; latency of parallelized 256-sized pool/slotpoller-heap
                        time:   [16.718 ms 16.727 ms 16.735 ms]
Found 4 outliers among 256 measurements (1.56%)
  1 (0.39%) low severe
  3 (1.17%) low mild

with tokio; latency of parallelized 512-sized pool/(control = longest sequence)
                        time:   [16.342 ms 16.358 ms 16.373 ms]
Found 7 outliers among 256 measurements (2.73%)
  1 (0.39%) low severe
  6 (2.34%) low mild
with tokio; latency of parallelized 512-sized pool/(control = simple lib)
                        time:   [18.850 ms 18.863 ms 18.876 ms]
Found 3 outliers among 256 measurements (1.17%)
  2 (0.78%) low mild
  1 (0.39%) high mild
with tokio; latency of parallelized 512-sized pool/futures
                        time:   [18.591 ms 18.602 ms 18.613 ms]
Found 2 outliers among 256 measurements (0.78%)
  2 (0.78%) high mild
with tokio; latency of parallelized 512-sized pool/futures-buffered
                        time:   [18.476 ms 18.486 ms 18.496 ms]
Found 1 outliers among 256 measurements (0.39%)
  1 (0.39%) low mild
with tokio; latency of parallelized 512-sized pool/slotpoller-stack
                        time:   [18.444 ms 18.453 ms 18.463 ms]
Found 2 outliers among 256 measurements (0.78%)
  2 (0.78%) low mild
with tokio; latency of parallelized 512-sized pool/slotpoller-heap
                        time:   [18.461 ms 18.513 ms 18.608 ms]
Found 1 outliers among 256 measurements (0.39%)
  1 (0.39%) high severe

with tokio; latency of parallelized 1024-sized pool/(control = longest sequence)
                        time:   [16.792 ms 16.808 ms 16.823 ms]
Found 8 outliers among 256 measurements (3.12%)
  8 (3.12%) low mild
with tokio; latency of parallelized 1024-sized pool/(control = simple lib)
                        time:   [20.600 ms 20.626 ms 20.651 ms]
with tokio; latency of parallelized 1024-sized pool/futures
                        time:   [24.882 ms 24.896 ms 24.910 ms]
Found 2 outliers among 256 measurements (0.78%)
  2 (0.78%) high mild
with tokio; latency of parallelized 1024-sized pool/futures-buffered
                        time:   [25.015 ms 25.029 ms 25.042 ms]
with tokio; latency of parallelized 1024-sized pool/slotpoller-stack
                        time:   [25.373 ms 25.388 ms 25.402 ms]
Found 2 outliers among 256 measurements (0.78%)
  2 (0.78%) high mild
with tokio; latency of parallelized 1024-sized pool/slotpoller-heap
                        time:   [25.229 ms 25.243 ms 25.259 ms]
Found 3 outliers among 256 measurements (1.17%)
  3 (1.17%) high mild
```

## Memory

These benchmarks measure the memory usage of creating the poller with 16 slots, filling it with 128 futures, and polling the futures to completion. Like with the latency benchmark, each future sleeps for a sequence of random durations.

The whole process, from start to finish, is measured for memory impact. We wrap the system allocator and record the following statistics.

### Total Allocation

How many total bytes were requested from the allocator. This is the sum of allocation sizes from alloc() calls.

```
     Running benches/memory.rs (target/release/deps/memory-772d41016e204864)
Gnuplot not found, using plotters backend
with smol; total alloc/(control = simple lib)
                        time:   [279.02 KiB 279.63 KiB 280.15 KiB]
Found 2 outliers among 14 measurements (14.29%)
  1 (7.14%) low severe
  1 (7.14%) low mild
with smol; total alloc/futures
                        time:   [115.76 KiB 115.83 KiB 115.89 KiB]
with smol; total alloc/futures-buffered
                        time:   [241.43 KiB 241.68 KiB 241.91 KiB]
Found 2 outliers among 14 measurements (14.29%)
  2 (14.29%) low mild
with smol; total alloc/slotpoller-stack
                        time:   [240.83 KiB 241.00 KiB 241.18 KiB]
with smol; total alloc/slotpoller-heap
                        time:   [241.08 KiB 241.79 KiB 242.35 KiB]
Found 1 outliers among 14 measurements (7.14%)
  1 (7.14%) low severe

with tokio; total alloc/(control = simple lib)
                        time:   [54.117 KiB 54.117 KiB 54.117 KiB]
with tokio; total alloc/futures
                        time:   [32.313 KiB 32.313 KiB 32.313 KiB]
with tokio; total alloc/futures-buffered
                        time:   [4.1250 KiB 4.1250 KiB 4.1250 KiB]
with tokio; total alloc/slotpoller-stack
                        time:   [512.00 b 512.00 b 512.00 b]
with tokio; total alloc/slotpoller-heap
                        time:   [3.6250 KiB 3.6250 KiB 3.6250 KiB]
```

### Maximum Memory Usage

This is the maximum memory usage that was reached at any given time. The program's memory usage goes up and down, and this was the highest recorded value.

Note that because allocations happen concurrently, they can sometimes cross over between measurement runs, but we mitigate this by having the benchmark sleep for a couple milliseconds before exiting.

```
with smol; max memory usage/(control = simple lib)
                        time:   [39.687 b 39.706 b 39.725 b]
with smol; max memory usage/futures
                        time:   [413.55 b 414.12 b 414.70 b]
with smol; max memory usage/futures-buffered
                        time:   [66.362 b 66.362 b 66.362 b]
Found 1 outliers among 14 measurements (7.14%)
  1 (7.14%) low mild
with smol; max memory usage/slotpoller-stack
                        time:   [34.338 b 34.338 b 34.338 b]
with smol; max memory usage/slotpoller-heap
                        time:   [60.782 b 60.782 b 60.782 b]

with tokio; max memory usage/(control = simple lib)
                        time:   [73.070 b 73.071 b 73.071 b]
with tokio; max memory usage/futures
                        time:   [766.07 b 766.07 b 766.07 b]
with tokio; max memory usage/futures-buffered
                        time:   [330.00 b 330.00 b 330.00 b]
with tokio; max memory usage/slotpoller-stack
                        time:   [40.315 b 40.315 b 40.315 b]
with tokio; max memory usage/slotpoller-heap
                        time:   [287.75 b 287.75 b 287.75 b]
```

## zetanumber's benchmarks

I also incorporated benchmarks from zetanumber's "interdependent futures" functions. They are forked from [zetanumbers/futures-concurrency-benchmark](https://github.com/zetanumbers/futures-concurrency-benchmark), itself forked from notgull.

Some changes were made, and these are described in benches/zetanumbers_interdependent.rs

### Polling methods under test

* `futures_concurrency::join`
* `futures_concurrency::FutureGroup`
* `slotpoller::StackSlots`
* `slotpoller::HeapSlots`
* `futures_util::future::JoinAll` (futures)
* `futures_util::stream::FuturesOrdered` (futures)
* `futures_util::stream::FuturesUnordered` (futures)
* `async_executor::LocalExecutor` (smol)
* `async_executor::Executor` (smol)
* `unsend::executor::Executor`
* `tokio::task::LocalSet::spawn_local`
* `tokio::task::JoinSet::spawn_local_on`
* `tokio::task::spawn`
* `tokio::task::JoinSet::spawn`

Note that *futures_util* is the same as the popular *futures* crate, and similarly with *async_executor*/*smol*.

Most benchmarks were executed with the smol runtime. However, Tokio utilities were benchmarked using the Tokio runtime to poll them.

### Summary

In almost every case, SlotPoller was the best. It is objectively the most performant library according to this benchmark.

The results below are broken up into the following sections:
* Ready and yield tasks. These are probably uninteresting, but provide a baseline for comparison.
* X interdependent tasks. Scroll down to see this part.

### Ready and yield tasks

Rather straightforward benchmarks which test A.) ready futures and B.) futures that call yield_now().await.

```
     Running benches/zetanumbers_interdependent.rs (target/release/deps/zetanumbers_interdependent-5573edd67e124ce7)
Gnuplot not found, using plotters backend
ready_task/seq          time:   [8.2213 µs 8.2220 µs 8.2229 µs]
                        thrpt:  [1.9925 Gelem/s 1.9927 Gelem/s 1.9929 Gelem/s]
Found 12 outliers among 100 measurements (12.00%)
  5 (5.00%) high mild
  7 (7.00%) high severe
ready_task/futures_concurrency::join
                        time:   [1.2669 ms 1.2701 ms 1.2732 ms]
                        thrpt:  [12.868 Melem/s 12.900 Melem/s 12.933 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild
ready_task/futures_concurrency::FutureGroup
                        time:   [3.1946 ms 3.2037 ms 3.2139 ms]
                        thrpt:  [5.0979 Melem/s 5.1141 Melem/s 5.1287 Melem/s]
ready_task/slotpoller::StackSlots
                        time:   [427.50 µs 427.68 µs 427.90 µs]
                        thrpt:  [38.289 Melem/s 38.309 Melem/s 38.325 Melem/s]
Found 19 outliers among 100 measurements (19.00%)
  19 (19.00%) high severe
ready_task/slotpoller::HeapSlots
                        time:   [420.28 µs 420.33 µs 420.39 µs]
                        thrpt:  [38.973 Melem/s 38.979 Melem/s 38.984 Melem/s]
Found 7 outliers among 100 measurements (7.00%)
  7 (7.00%) high severe
ready_task/futures_util::future::JoinAll
                        time:   [1.7697 ms 1.7740 ms 1.7779 ms]
                        thrpt:  [9.2155 Melem/s 9.2354 Melem/s 9.2580 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild
ready_task/futures_util::stream::FuturesOrdered
                        time:   [1.5960 ms 1.5983 ms 1.6003 ms]
                        thrpt:  [10.238 Melem/s 10.251 Melem/s 10.266 Melem/s]
Found 15 outliers among 100 measurements (15.00%)
  9 (9.00%) low severe
  5 (5.00%) low mild
  1 (1.00%) high severe
ready_task/futures_util::stream::FuturesUnordered
                        time:   [1.5489 ms 1.5515 ms 1.5540 ms]
                        thrpt:  [10.543 Melem/s 10.560 Melem/s 10.578 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe
ready_task/async_executor::LocalExecutor
                        time:   [3.7557 ms 3.7573 ms 3.7590 ms]
                        thrpt:  [4.3586 Melem/s 4.3605 Melem/s 4.3624 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high severe
ready_task/unsend::executor::Executor
                        time:   [2.6952 ms 2.6998 ms 2.7035 ms]
                        thrpt:  [6.0604 Melem/s 6.0687 Melem/s 6.0789 Melem/s]
Found 22 outliers among 100 measurements (22.00%)
  5 (5.00%) low severe
  17 (17.00%) high severe
ready_task/tokio::task::LocalSet::spawn_local/current-thread
                        time:   [4.7109 ms 4.7189 ms 4.7282 ms]
                        thrpt:  [3.4651 Melem/s 3.4720 Melem/s 3.4779 Melem/s]
Found 13 outliers among 100 measurements (13.00%)
  1 (1.00%) high mild
  12 (12.00%) high severe
Benchmarking ready_task/tokio::task::JoinSet::spawn_local_on/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 38.6s, enable flat sampling, or reduce sample count to 60.
ready_task/tokio::task::JoinSet::spawn_local_on/current-thread
                        time:   [7.6316 ms 7.6342 ms 7.6366 ms]
                        thrpt:  [2.1455 Melem/s 2.1461 Melem/s 2.1469 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  1 (1.00%) high mild
  3 (3.00%) high severe
ready_task/tokio::task::LocalSet::spawn_local/multi-thread
                        time:   [4.7138 ms 4.7154 ms 4.7171 ms]
                        thrpt:  [3.4734 Melem/s 3.4745 Melem/s 3.4757 Melem/s]
Found 8 outliers among 100 measurements (8.00%)
  4 (4.00%) high mild
  4 (4.00%) high severe
Benchmarking ready_task/tokio::task::JoinSet::spawn_local_on/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 36.9s, enable flat sampling, or reduce sample count to 60.
ready_task/tokio::task::JoinSet::spawn_local_on/multi-thread
                        time:   [7.3743 ms 7.4202 ms 7.4676 ms]
                        thrpt:  [2.1940 Melem/s 2.2080 Melem/s 2.2218 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe
ready_task/async_executor::Executor
                        time:   [3.7748 ms 3.7763 ms 3.7778 ms]
                        thrpt:  [4.3369 Melem/s 4.3387 Melem/s 4.3404 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high severe
ready_task/tokio::task::spawn/current-thread
                        time:   [4.5965 ms 4.5983 ms 4.6000 ms]
                        thrpt:  [3.5617 Melem/s 3.5630 Melem/s 3.5645 Melem/s]
Found 12 outliers among 100 measurements (12.00%)
  3 (3.00%) low mild
  5 (5.00%) high mild
  4 (4.00%) high severe
Benchmarking ready_task/tokio::task::JoinSet::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 36.9s, enable flat sampling, or reduce sample count to 60.
ready_task/tokio::task::JoinSet::spawn/current-thread
                        time:   [7.3416 ms 7.3555 ms 7.3692 ms]
                        thrpt:  [2.2233 Melem/s 2.2274 Melem/s 2.2317 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
Benchmarking ready_task/tokio::task::spawn/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 48.1s, enable flat sampling, or reduce sample count to 50.
ready_task/tokio::task::spawn/multi-thread
                        time:   [10.979 ms 11.061 ms 11.140 ms]
                        thrpt:  [1.4707 Melem/s 1.4813 Melem/s 1.4923 Melem/s]
Found 7 outliers among 100 measurements (7.00%)
  7 (7.00%) low mild
ready_task/tokio::task::JoinSet::spawn/multi-thread
                        time:   [14.196 ms 14.269 ms 14.346 ms]
                        thrpt:  [1.1421 Melem/s 1.1483 Melem/s 1.1542 Melem/s]
Found 5 outliers among 100 measurements (5.00%)
  1 (1.00%) low mild
  2 (2.00%) high mild
  2 (2.00%) high severe

yield_once_task/seq     time:   [366.71 µs 368.99 µs 371.61 µs]
                        thrpt:  [44.089 Melem/s 44.402 Melem/s 44.679 Melem/s]
yield_once_task/futures_concurrency::join
                        time:   [2.0085 ms 2.0088 ms 2.0091 ms]
                        thrpt:  [8.1550 Melem/s 8.1562 Melem/s 8.1575 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  4 (4.00%) high severe
yield_once_task/futures_concurrency::FutureGroup
                        time:   [4.0800 ms 4.0823 ms 4.0849 ms]
                        thrpt:  [4.0108 Melem/s 4.0134 Melem/s 4.0157 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
yield_once_task/slotpoller::StackSlots
                        time:   [825.54 µs 826.71 µs 828.07 µs]
                        thrpt:  [19.786 Melem/s 19.818 Melem/s 19.846 Melem/s]
yield_once_task/slotpoller::HeapSlots
                        time:   [817.72 µs 817.87 µs 818.05 µs]
                        thrpt:  [20.028 Melem/s 20.033 Melem/s 20.036 Melem/s]
Found 12 outliers among 100 measurements (12.00%)
  3 (3.00%) high mild
  9 (9.00%) high severe
yield_once_task/futures_util::future::JoinAll
                        time:   [3.0948 ms 3.0964 ms 3.0976 ms]
                        thrpt:  [5.2892 Melem/s 5.2914 Melem/s 5.2941 Melem/s]
Found 13 outliers among 100 measurements (13.00%)
  10 (10.00%) high mild
  3 (3.00%) high severe
yield_once_task/futures_util::stream::FuturesOrdered
                        time:   [2.9077 ms 2.9097 ms 2.9126 ms]
                        thrpt:  [5.6252 Melem/s 5.6308 Melem/s 5.6346 Melem/s]
Found 17 outliers among 100 measurements (17.00%)
  9 (9.00%) low severe
  5 (5.00%) low mild
  1 (1.00%) high mild
  2 (2.00%) high severe
yield_once_task/futures_util::stream::FuturesUnordered
                        time:   [2.7852 ms 2.7892 ms 2.7932 ms]
                        thrpt:  [5.8658 Melem/s 5.8741 Melem/s 5.8826 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
yield_once_task/async_executor::LocalExecutor
                        time:   [5.5486 ms 5.5514 ms 5.5540 ms]
                        thrpt:  [2.9499 Melem/s 2.9513 Melem/s 2.9528 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe
yield_once_task/unsend::executor::Executor
                        time:   [3.6658 ms 3.6670 ms 3.6680 ms]
                        thrpt:  [4.4668 Melem/s 4.4680 Melem/s 4.4694 Melem/s]
Found 6 outliers among 100 measurements (6.00%)
  2 (2.00%) low mild
  1 (1.00%) high mild
  3 (3.00%) high severe
yield_once_task/tokio::task::LocalSet::spawn_local/current-thread
                        time:   [5.3901 ms 5.3927 ms 5.3958 ms]
                        thrpt:  [3.0364 Melem/s 3.0382 Melem/s 3.0396 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe
Benchmarking yield_once_task/tokio::task::JoinSet::spawn_local_on/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 42.0s, enable flat sampling, or reduce sample count to 50.
yield_once_task/tokio::task::JoinSet::spawn_local_on/current-thread
                        time:   [8.2992 ms 8.3040 ms 8.3106 ms]
                        thrpt:  [1.9715 Melem/s 1.9730 Melem/s 1.9742 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  4 (4.00%) high severe
yield_once_task/tokio::task::LocalSet::spawn_local/multi-thread
                        time:   [5.3592 ms 5.3626 ms 5.3667 ms]
                        thrpt:  [3.0529 Melem/s 3.0552 Melem/s 3.0572 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
Benchmarking yield_once_task/tokio::task::JoinSet::spawn_local_on/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 42.0s, enable flat sampling, or reduce sample count to 50.
yield_once_task/tokio::task::JoinSet::spawn_local_on/multi-thread
                        time:   [8.2569 ms 8.2692 ms 8.2798 ms]
                        thrpt:  [1.9788 Melem/s 1.9813 Melem/s 1.9843 Melem/s]
Found 15 outliers among 100 measurements (15.00%)
  6 (6.00%) low severe
  6 (6.00%) low mild
  3 (3.00%) high severe
yield_once_task/async_executor::Executor
                        time:   [5.5512 ms 5.5569 ms 5.5630 ms]
                        thrpt:  [2.9452 Melem/s 2.9484 Melem/s 2.9514 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
yield_once_task/tokio::task::spawn/current-thread
                        time:   [5.2438 ms 5.2510 ms 5.2580 ms]
                        thrpt:  [3.1160 Melem/s 3.1202 Melem/s 3.1245 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
Benchmarking yield_once_task/tokio::task::JoinSet::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 40.7s, enable flat sampling, or reduce sample count to 60.
yield_once_task/tokio::task::JoinSet::spawn/current-thread
                        time:   [7.9787 ms 7.9901 ms 8.0023 ms]
                        thrpt:  [2.0474 Melem/s 2.0505 Melem/s 2.0535 Melem/s]
Found 9 outliers among 100 measurements (9.00%)
  4 (4.00%) low mild
  3 (3.00%) high mild
  2 (2.00%) high severe
Benchmarking yield_once_task/tokio::task::spawn/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 54.2s, enable flat sampling, or reduce sample count to 50.
yield_once_task/tokio::task::spawn/multi-thread
                        time:   [12.059 ms 12.139 ms 12.210 ms]
                        thrpt:  [1.3418 Melem/s 1.3497 Melem/s 1.3586 Melem/s]
Found 6 outliers among 100 measurements (6.00%)
  4 (4.00%) low mild
  2 (2.00%) high mild
yield_once_task/tokio::task::JoinSet::spawn/multi-thread
                        time:   [15.824 ms 15.884 ms 15.945 ms]
                        thrpt:  [1.0275 Melem/s 1.0315 Melem/s 1.0354 Melem/s]

yield_ten_task/seq      time:   [3.5574 ms 3.5758 ms 3.5973 ms]
                        thrpt:  [4.5545 Melem/s 4.5820 Melem/s 4.6056 Melem/s]
Benchmarking yield_ten_task/futures_concurrency::join: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 43.5s, enable flat sampling, or reduce sample count to 50.
yield_ten_task/futures_concurrency::join
                        time:   [8.6022 ms 8.6030 ms 8.6038 ms]
                        thrpt:  [1.9043 Melem/s 1.9045 Melem/s 1.9046 Melem/s]
Found 6 outliers among 100 measurements (6.00%)
  1 (1.00%) high mild
  5 (5.00%) high severe
Benchmarking yield_ten_task/futures_concurrency::FutureGroup: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 57.0s, enable flat sampling, or reduce sample count to 50.
yield_ten_task/futures_concurrency::FutureGroup
                        time:   [11.264 ms 11.268 ms 11.272 ms]
                        thrpt:  [1.4535 Melem/s 1.4540 Melem/s 1.4545 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high severe
yield_ten_task/slotpoller::StackSlots
                        time:   [4.3781 ms 4.3789 ms 4.3797 ms]
                        thrpt:  [3.7409 Melem/s 3.7416 Melem/s 3.7422 Melem/s]
Found 13 outliers among 100 measurements (13.00%)
  6 (6.00%) high mild
  7 (7.00%) high severe
yield_ten_task/slotpoller::HeapSlots
                        time:   [4.3202 ms 4.3209 ms 4.3218 ms]
                        thrpt:  [3.7910 Melem/s 3.7918 Melem/s 3.7924 Melem/s]
Found 12 outliers among 100 measurements (12.00%)
  5 (5.00%) high mild
  7 (7.00%) high severe
yield_ten_task/futures_util::future::JoinAll
                        time:   [14.423 ms 14.439 ms 14.457 ms]
                        thrpt:  [1.1333 Melem/s 1.1347 Melem/s 1.1360 Melem/s]
Found 14 outliers among 100 measurements (14.00%)
  1 (1.00%) high mild
  13 (13.00%) high severe
yield_ten_task/futures_util::stream::FuturesOrdered
                        time:   [14.264 ms 14.284 ms 14.302 ms]
                        thrpt:  [1.1455 Melem/s 1.1470 Melem/s 1.1486 Melem/s]
yield_ten_task/futures_util::stream::FuturesUnordered
                        time:   [13.813 ms 13.841 ms 13.869 ms]
                        thrpt:  [1.1813 Melem/s 1.1838 Melem/s 1.1861 Melem/s]
Found 31 outliers among 100 measurements (31.00%)
  13 (13.00%) low severe
  1 (1.00%) low mild
  1 (1.00%) high mild
  16 (16.00%) high severe
yield_ten_task/async_executor::LocalExecutor
                        time:   [21.918 ms 21.926 ms 21.937 ms]
                        thrpt:  [746.87 Kelem/s 747.25 Kelem/s 747.50 Kelem/s]
Found 15 outliers among 100 measurements (15.00%)
  13 (13.00%) high mild
  2 (2.00%) high severe
yield_ten_task/unsend::executor::Executor
                        time:   [12.319 ms 12.321 ms 12.324 ms]
                        thrpt:  [1.3294 Melem/s 1.3297 Melem/s 1.3300 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild
Benchmarking yield_ten_task/tokio::task::LocalSet::spawn_local/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 56.9s, enable flat sampling, or reduce sample count to 50.
yield_ten_task/tokio::task::LocalSet::spawn_local/current-thread
                        time:   [11.280 ms 11.284 ms 11.290 ms]
                        thrpt:  [1.4512 Melem/s 1.4519 Melem/s 1.4525 Melem/s]
Found 21 outliers among 100 measurements (21.00%)
  3 (3.00%) low mild
  12 (12.00%) high mild
  6 (6.00%) high severe
yield_ten_task/tokio::task::JoinSet::spawn_local_on/current-thread
                        time:   [14.229 ms 14.236 ms 14.244 ms]
                        thrpt:  [1.1502 Melem/s 1.1509 Melem/s 1.1514 Melem/s]
Found 5 outliers among 100 measurements (5.00%)
  4 (4.00%) high mild
  1 (1.00%) high severe
Benchmarking yield_ten_task/tokio::task::LocalSet::spawn_local/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 56.2s, enable flat sampling, or reduce sample count to 50.
yield_ten_task/tokio::task::LocalSet::spawn_local/multi-thread
                        time:   [11.144 ms 11.152 ms 11.162 ms]
                        thrpt:  [1.4678 Melem/s 1.4691 Melem/s 1.4702 Melem/s]
Found 16 outliers among 100 measurements (16.00%)
  2 (2.00%) high mild
  14 (14.00%) high severe
yield_ten_task/tokio::task::JoinSet::spawn_local_on/multi-thread
                        time:   [13.991 ms 14.022 ms 14.053 ms]
                        thrpt:  [1.1659 Melem/s 1.1684 Melem/s 1.1711 Melem/s]
yield_ten_task/async_executor::Executor
                        time:   [22.026 ms 22.049 ms 22.074 ms]
                        thrpt:  [742.24 Kelem/s 743.08 Kelem/s 743.84 Kelem/s]
Found 27 outliers among 100 measurements (27.00%)
  12 (12.00%) low mild
  5 (5.00%) high mild
  10 (10.00%) high severe
Benchmarking yield_ten_task/tokio::task::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 56.9s, enable flat sampling, or reduce sample count to 50.
yield_ten_task/tokio::task::spawn/current-thread
                        time:   [11.243 ms 11.246 ms 11.249 ms]
                        thrpt:  [1.4565 Melem/s 1.4569 Melem/s 1.4572 Melem/s]
Found 10 outliers among 100 measurements (10.00%)
  1 (1.00%) low mild
  4 (4.00%) high mild
  5 (5.00%) high severe
yield_ten_task/tokio::task::JoinSet::spawn/current-thread
                        time:   [13.900 ms 13.915 ms 13.932 ms]
                        thrpt:  [1.1760 Melem/s 1.1774 Melem/s 1.1787 Melem/s]
Found 7 outliers among 100 measurements (7.00%)
  7 (7.00%) high mild
yield_ten_task/tokio::task::spawn/multi-thread
                        time:   [18.969 ms 19.090 ms 19.206 ms]
                        thrpt:  [853.09 Kelem/s 858.24 Kelem/s 863.75 Kelem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) low mild
yield_ten_task/tokio::task::JoinSet::spawn/multi-thread
                        time:   [22.725 ms 22.825 ms 22.922 ms]
                        thrpt:  [714.78 Kelem/s 717.82 Kelem/s 720.96 Kelem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) low mild

yield_hundred_task/seq  time:   [35.946 ms 36.113 ms 36.275 ms]
                        thrpt:  [451.66 Kelem/s 453.69 Kelem/s 455.80 Kelem/s]
yield_hundred_task/futures_concurrency::join
                        time:   [75.418 ms 75.458 ms 75.519 ms]
                        thrpt:  [216.95 Kelem/s 217.13 Kelem/s 217.24 Kelem/s]
Found 9 outliers among 100 measurements (9.00%)
  2 (2.00%) high mild
  7 (7.00%) high severe
yield_hundred_task/futures_concurrency::FutureGroup
                        time:   [82.909 ms 83.149 ms 83.423 ms]
                        thrpt:  [196.40 Kelem/s 197.04 Kelem/s 197.61 Kelem/s]
Found 7 outliers among 100 measurements (7.00%)
  7 (7.00%) high severe
yield_hundred_task/slotpoller::StackSlots
                        time:   [39.306 ms 39.320 ms 39.337 ms]
                        thrpt:  [416.51 Kelem/s 416.68 Kelem/s 416.83 Kelem/s]
Found 15 outliers among 100 measurements (15.00%)
  15 (15.00%) high severe
yield_hundred_task/slotpoller::HeapSlots
                        time:   [38.864 ms 38.869 ms 38.875 ms]
                        thrpt:  [421.45 Kelem/s 421.52 Kelem/s 421.58 Kelem/s]
Found 5 outliers among 100 measurements (5.00%)
  5 (5.00%) high severe
yield_hundred_task/futures_util::future::JoinAll
                        time:   [125.84 ms 125.91 ms 125.97 ms]
                        thrpt:  [130.06 Kelem/s 130.13 Kelem/s 130.19 Kelem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) low mild
yield_hundred_task/futures_util::stream::FuturesOrdered
                        time:   [124.58 ms 124.76 ms 124.95 ms]
                        thrpt:  [131.12 Kelem/s 131.32 Kelem/s 131.52 Kelem/s]
yield_hundred_task/futures_util::stream::FuturesUnordered
                        time:   [125.02 ms 125.36 ms 125.73 ms]
                        thrpt:  [130.31 Kelem/s 130.69 Kelem/s 131.05 Kelem/s]
Found 16 outliers among 100 measurements (16.00%)
  16 (16.00%) high severe
yield_hundred_task/async_executor::LocalExecutor
                        time:   [188.18 ms 188.95 ms 189.75 ms]
                        thrpt:  [86.347 Kelem/s 86.712 Kelem/s 87.066 Kelem/s]
yield_hundred_task/unsend::executor::Executor
                        time:   [99.307 ms 99.324 ms 99.344 ms]
                        thrpt:  [164.92 Kelem/s 164.95 Kelem/s 164.98 Kelem/s]
Found 6 outliers among 100 measurements (6.00%)
  4 (4.00%) high mild
  2 (2.00%) high severe
yield_hundred_task/tokio::task::LocalSet::spawn_local/current-thread
                        time:   [70.215 ms 70.252 ms 70.291 ms]
                        thrpt:  [233.09 Kelem/s 233.22 Kelem/s 233.34 Kelem/s]
Found 17 outliers among 100 measurements (17.00%)
  15 (15.00%) high mild
  2 (2.00%) high severe
yield_hundred_task/tokio::task::JoinSet::spawn_local_on/current-thread
                        time:   [73.163 ms 73.191 ms 73.222 ms]
                        thrpt:  [223.76 Kelem/s 223.85 Kelem/s 223.94 Kelem/s]
Found 12 outliers among 100 measurements (12.00%)
  8 (8.00%) low mild
  1 (1.00%) high mild
  3 (3.00%) high severe
yield_hundred_task/tokio::task::LocalSet::spawn_local/multi-thread
                        time:   [68.994 ms 69.063 ms 69.140 ms]
                        thrpt:  [236.97 Kelem/s 237.23 Kelem/s 237.47 Kelem/s]
Found 7 outliers among 100 measurements (7.00%)
  3 (3.00%) high mild
  4 (4.00%) high severe
yield_hundred_task/tokio::task::JoinSet::spawn_local_on/multi-thread
                        time:   [72.139 ms 72.213 ms 72.298 ms]
                        thrpt:  [226.62 Kelem/s 226.89 Kelem/s 227.12 Kelem/s]
Found 8 outliers among 100 measurements (8.00%)
  1 (1.00%) low mild
  2 (2.00%) high mild
  5 (5.00%) high severe
yield_hundred_task/async_executor::Executor
                        time:   [189.62 ms 189.88 ms 190.16 ms]
                        thrpt:  [86.159 Kelem/s 86.286 Kelem/s 86.405 Kelem/s]
Found 20 outliers among 100 measurements (20.00%)
  17 (17.00%) high mild
  3 (3.00%) high severe
yield_hundred_task/tokio::task::spawn/current-thread
                        time:   [70.420 ms 70.464 ms 70.510 ms]
                        thrpt:  [232.36 Kelem/s 232.51 Kelem/s 232.66 Kelem/s]
yield_hundred_task/tokio::task::JoinSet::spawn/current-thread
                        time:   [73.090 ms 73.130 ms 73.175 ms]
                        thrpt:  [223.90 Kelem/s 224.04 Kelem/s 224.16 Kelem/s]
Found 4 outliers among 100 measurements (4.00%)
  1 (1.00%) high mild
  3 (3.00%) high severe
yield_hundred_task/tokio::task::spawn/multi-thread
                        time:   [35.620 ms 35.915 ms 36.216 ms]
                        thrpt:  [452.39 Kelem/s 456.19 Kelem/s 459.96 Kelem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild
yield_hundred_task/tokio::task::JoinSet::spawn/multi-thread
                        time:   [36.624 ms 36.827 ms 37.034 ms]
                        thrpt:  [442.41 Kelem/s 444.89 Kelem/s 447.36 Kelem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild

independent_yield_rand_uniform_tasks/seq
                        time:   [19.622 ms 19.623 ms 19.626 ms]
                        thrpt:  [834.82 Kelem/s 834.92 Kelem/s 835.00 Kelem/s]
Found 6 outliers among 100 measurements (6.00%)
  3 (3.00%) high mild
  3 (3.00%) high severe
independent_yield_rand_uniform_tasks/futures_concurrency::join
                        time:   [39.080 ms 39.216 ms 39.358 ms]
                        thrpt:  [416.29 Kelem/s 417.79 Kelem/s 419.25 Kelem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild
independent_yield_rand_uniform_tasks/futures_concurrency::FutureGroup
                        time:   [45.045 ms 45.108 ms 45.167 ms]
                        thrpt:  [362.74 Kelem/s 363.22 Kelem/s 363.73 Kelem/s]
Found 16 outliers among 100 measurements (16.00%)
  16 (16.00%) low severe
independent_yield_rand_uniform_tasks/slotpoller::StackSlots
                        time:   [19.902 ms 19.905 ms 19.909 ms]
                        thrpt:  [822.95 Kelem/s 823.11 Kelem/s 823.25 Kelem/s]
Found 8 outliers among 100 measurements (8.00%)
  8 (8.00%) high severe
independent_yield_rand_uniform_tasks/slotpoller::HeapSlots
                        time:   [19.947 ms 19.956 ms 19.967 ms]
                        thrpt:  [820.57 Kelem/s 821.00 Kelem/s 821.36 Kelem/s]
Found 13 outliers among 100 measurements (13.00%)
  2 (2.00%) high mild
  11 (11.00%) high severe
independent_yield_rand_uniform_tasks/futures_util::future::JoinAll
                        time:   [65.465 ms 65.515 ms 65.577 ms]
                        thrpt:  [249.84 Kelem/s 250.08 Kelem/s 250.27 Kelem/s]
Found 5 outliers among 100 measurements (5.00%)
  5 (5.00%) high severe
independent_yield_rand_uniform_tasks/futures_util::stream::FuturesOrdered
                        time:   [65.776 ms 65.895 ms 66.023 ms]
                        thrpt:  [248.16 Kelem/s 248.64 Kelem/s 249.09 Kelem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild
independent_yield_rand_uniform_tasks/futures_util::stream::FuturesUnordered
                        time:   [62.789 ms 62.799 ms 62.810 ms]
                        thrpt:  [260.85 Kelem/s 260.90 Kelem/s 260.94 Kelem/s]
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe
independent_yield_rand_uniform_tasks/async_executor::LocalExecutor
                        time:   [94.812 ms 95.000 ms 95.204 ms]
                        thrpt:  [172.09 Kelem/s 172.46 Kelem/s 172.81 Kelem/s]
Found 16 outliers among 100 measurements (16.00%)
  16 (16.00%) high severe
independent_yield_rand_uniform_tasks/unsend::executor::Executor
                        time:   [51.288 ms 51.300 ms 51.313 ms]
                        thrpt:  [319.30 Kelem/s 319.38 Kelem/s 319.45 Kelem/s]
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe
independent_yield_rand_uniform_tasks/tokio::task::LocalSet::spawn_local/current-thread
                        time:   [36.880 ms 36.905 ms 36.931 ms]
                        thrpt:  [443.64 Kelem/s 443.95 Kelem/s 444.25 Kelem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild
independent_yield_rand_uniform_tasks/tokio::task::JoinSet::spawn_local_on/current-thread
                        time:   [40.870 ms 40.885 ms 40.902 ms]
                        thrpt:  [400.57 Kelem/s 400.73 Kelem/s 400.88 Kelem/s]
Found 6 outliers among 100 measurements (6.00%)
  6 (6.00%) high mild
independent_yield_rand_uniform_tasks/tokio::task::LocalSet::spawn_local/multi-thread
                        time:   [36.140 ms 36.171 ms 36.204 ms]
                        thrpt:  [452.55 Kelem/s 452.97 Kelem/s 453.34 Kelem/s]
Found 8 outliers among 100 measurements (8.00%)
  1 (1.00%) low mild
  5 (5.00%) high mild
  2 (2.00%) high severe
independent_yield_rand_uniform_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread
                        time:   [40.201 ms 40.226 ms 40.253 ms]
                        thrpt:  [407.03 Kelem/s 407.30 Kelem/s 407.55 Kelem/s]
Found 7 outliers among 100 measurements (7.00%)
  1 (1.00%) high mild
  6 (6.00%) high severe
independent_yield_rand_uniform_tasks/async_executor::Executor
                        time:   [94.446 ms 94.466 ms 94.486 ms]
                        thrpt:  [173.40 Kelem/s 173.44 Kelem/s 173.47 Kelem/s]
independent_yield_rand_uniform_tasks/tokio::task::spawn/current-thread
                        time:   [37.309 ms 37.328 ms 37.347 ms]
                        thrpt:  [438.70 Kelem/s 438.92 Kelem/s 439.14 Kelem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild
independent_yield_rand_uniform_tasks/tokio::task::JoinSet::spawn/current-thread
                        time:   [42.112 ms 42.168 ms 42.224 ms]
                        thrpt:  [388.03 Kelem/s 388.54 Kelem/s 389.06 Kelem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high mild
independent_yield_rand_uniform_tasks/tokio::task::spawn/multi-thread
                        time:   [21.370 ms 21.574 ms 21.780 ms]
                        thrpt:  [752.26 Kelem/s 759.44 Kelem/s 766.69 Kelem/s]
independent_yield_rand_uniform_tasks/tokio::task::JoinSet::spawn/multi-thread
                        time:   [26.020 ms 26.177 ms 26.340 ms]
                        thrpt:  [622.03 Kelem/s 625.88 Kelem/s 629.68 Kelem/s]
```


### Interdependent tasks

The "X interdependent futures" functions.

The idea is to create multiple futures which randomly depend upon on each other, so polling one future causes another to wake up. This introduces random task dependencies and spike latency.

```
Benchmarking fully_interdependent_tasks/futures_concurrency::join: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 44.0s, or reduce sample count to 60.
fully_interdependent_tasks/futures_concurrency::join
                        time:   [416.35 ms 416.63 ms 416.89 ms]
                        thrpt:  [39.301 Kelem/s 39.325 Kelem/s 39.351 Kelem/s]
Found 4 outliers among 100 measurements (4.00%)
  2 (2.00%) low severe
  2 (2.00%) low mild
Benchmarking fully_interdependent_tasks/futures_concurrency::FutureGroup: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 36.2s, or reduce sample count to 80.
fully_interdependent_tasks/futures_concurrency::FutureGroup
                        time:   [361.87 ms 361.94 ms 362.02 ms]
                        thrpt:  [45.257 Kelem/s 45.267 Kelem/s 45.276 Kelem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) low mild
fully_interdependent_tasks/slotpoller::StackSlots
                        time:   [2.9441 ms 2.9457 ms 2.9475 ms]
                        thrpt:  [5.5586 Melem/s 5.5619 Melem/s 5.5650 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
fully_interdependent_tasks/slotpoller::HeapSlots
                        time:   [2.9696 ms 2.9759 ms 2.9840 ms]
                        thrpt:  [5.4907 Melem/s 5.5057 Melem/s 5.5172 Melem/s]
Found 16 outliers among 100 measurements (16.00%)
  16 (16.00%) high severe
Benchmarking fully_interdependent_tasks/futures_util::future::JoinAll: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 30.1s, enable flat sampling, or reduce sample count to 70.
fully_interdependent_tasks/futures_util::future::JoinAll
                        time:   [5.9566 ms 5.9574 ms 5.9583 ms]
                        thrpt:  [2.7498 Melem/s 2.7502 Melem/s 2.7506 Melem/s]
Found 8 outliers among 100 measurements (8.00%)
  6 (6.00%) high mild
  2 (2.00%) high severe
Benchmarking fully_interdependent_tasks/futures_util::stream::FuturesOrdered: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 30.1s, enable flat sampling, or reduce sample count to 70.
fully_interdependent_tasks/futures_util::stream::FuturesOrdered
                        time:   [5.9574 ms 5.9604 ms 5.9632 ms]
                        thrpt:  [2.7475 Melem/s 2.7488 Melem/s 2.7502 Melem/s]
Found 12 outliers among 100 measurements (12.00%)
  1 (1.00%) low severe
  6 (6.00%) low mild
  3 (3.00%) high mild
  2 (2.00%) high severe
fully_interdependent_tasks/futures_util::stream::FuturesUnordered
                        time:   [5.3343 ms 5.3369 ms 5.3393 ms]
                        thrpt:  [3.0686 Melem/s 3.0700 Melem/s 3.0715 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
Benchmarking fully_interdependent_tasks/async_executor::LocalExecutor: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 37.8s, enable flat sampling, or reduce sample count to 60.
fully_interdependent_tasks/async_executor::LocalExecutor
                        time:   [7.4899 ms 7.5035 ms 7.5187 ms]
                        thrpt:  [2.1791 Melem/s 2.1835 Melem/s 2.1875 Melem/s]
Found 7 outliers among 100 measurements (7.00%)
  7 (7.00%) high severe
fully_interdependent_tasks/unsend::executor::Executor
                        time:   [5.7464 ms 5.7481 ms 5.7497 ms]
                        thrpt:  [2.8495 Melem/s 2.8503 Melem/s 2.8512 Melem/s]
Found 18 outliers among 100 measurements (18.00%)
  1 (1.00%) low mild
  17 (17.00%) high severe
Benchmarking fully_interdependent_tasks/tokio::task::LocalSet::spawn_local/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 33.2s, enable flat sampling, or reduce sample count to 60.
fully_interdependent_tasks/tokio::task::LocalSet::spawn_local/current-thread
                        time:   [6.5410 ms 6.5440 ms 6.5472 ms]
                        thrpt:  [2.5024 Melem/s 2.5037 Melem/s 2.5048 Melem/s]
Found 9 outliers among 100 measurements (9.00%)
  1 (1.00%) low mild
  2 (2.00%) high mild
  6 (6.00%) high severe
Benchmarking fully_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 51.9s, enable flat sampling, or reduce sample count to 50.
fully_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/current-thread
                        time:   [10.286 ms 10.290 ms 10.294 ms]
                        thrpt:  [1.5916 Melem/s 1.5923 Melem/s 1.5929 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe
Benchmarking fully_interdependent_tasks/tokio::task::LocalSet::spawn_local/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 32.8s, enable flat sampling, or reduce sample count to 60.
fully_interdependent_tasks/tokio::task::LocalSet::spawn_local/multi-thread
                        time:   [6.5262 ms 6.5304 ms 6.5348 ms]
                        thrpt:  [2.5072 Melem/s 2.5089 Melem/s 2.5105 Melem/s]
Found 9 outliers among 100 measurements (9.00%)
  4 (4.00%) high mild
  5 (5.00%) high severe
Benchmarking fully_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 51.5s, enable flat sampling, or reduce sample count to 50.
fully_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread
                        time:   [10.312 ms 10.337 ms 10.359 ms]
                        thrpt:  [1.5816 Melem/s 1.5850 Melem/s 1.5888 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe
Benchmarking fully_interdependent_tasks/async_executor::Executor: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 37.7s, enable flat sampling, or reduce sample count to 60.
fully_interdependent_tasks/async_executor::Executor
                        time:   [7.4636 ms 7.4680 ms 7.4743 ms]
                        thrpt:  [2.1920 Melem/s 2.1939 Melem/s 2.1952 Melem/s]
Found 11 outliers among 100 measurements (11.00%)
  1 (1.00%) low mild
  3 (3.00%) high mild
  7 (7.00%) high severe
Benchmarking fully_interdependent_tasks/tokio::task::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 34.6s, enable flat sampling, or reduce sample count to 60.
fully_interdependent_tasks/tokio::task::spawn/current-thread
                        time:   [6.8433 ms 6.8470 ms 6.8507 ms]
                        thrpt:  [2.3916 Melem/s 2.3929 Melem/s 2.3942 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high severe
Benchmarking fully_interdependent_tasks/tokio::task::JoinSet::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 54.5s, enable flat sampling, or reduce sample count to 50.
fully_interdependent_tasks/tokio::task::JoinSet::spawn/current-thread
                        time:   [10.764 ms 10.770 ms 10.776 ms]
                        thrpt:  [1.5204 Melem/s 1.5213 Melem/s 1.5221 Melem/s]
Found 7 outliers among 100 measurements (7.00%)
  2 (2.00%) low severe
  2 (2.00%) low mild
  1 (1.00%) high mild
  2 (2.00%) high severe
fully_interdependent_tasks/tokio::task::spawn/multi-thread
                        time:   [16.612 ms 16.731 ms 16.844 ms]
                        thrpt:  [972.71 Kelem/s 979.25 Kelem/s 986.25 Kelem/s]
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) low mild
fully_interdependent_tasks/tokio::task::JoinSet::spawn/multi-thread
                        time:   [26.060 ms 26.197 ms 26.330 ms]
                        thrpt:  [622.26 Kelem/s 625.40 Kelem/s 628.70 Kelem/s]
Found 5 outliers among 100 measurements (5.00%)
  5 (5.00%) low mild

sqrt_interdependent_tasks/futures_concurrency::join
                        time:   [14.624 ms 14.643 ms 14.662 ms]
                        thrpt:  [1.1174 Melem/s 1.1189 Melem/s 1.1203 Melem/s]
Benchmarking sqrt_interdependent_tasks/futures_concurrency::FutureGroup: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 35.7s, or reduce sample count to 80.
sqrt_interdependent_tasks/futures_concurrency::FutureGroup
                        time:   [357.25 ms 357.32 ms 357.39 ms]
                        thrpt:  [45.843 Kelem/s 45.853 Kelem/s 45.861 Kelem/s]
Found 4 outliers among 100 measurements (4.00%)
  1 (1.00%) low mild
  2 (2.00%) high mild
  1 (1.00%) high severe
sqrt_interdependent_tasks/slotpoller::StackSlots
                        time:   [2.8810 ms 2.8814 ms 2.8817 ms]
                        thrpt:  [5.6856 Melem/s 5.6862 Melem/s 5.6869 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe
sqrt_interdependent_tasks/slotpoller::HeapSlots
                        time:   [2.8464 ms 2.8476 ms 2.8489 ms]
                        thrpt:  [5.7511 Melem/s 5.7537 Melem/s 5.7561 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe
Benchmarking sqrt_interdependent_tasks/futures_util::future::JoinAll: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 30.1s, enable flat sampling, or reduce sample count to 70.
sqrt_interdependent_tasks/futures_util::future::JoinAll
                        time:   [5.9488 ms 5.9497 ms 5.9506 ms]
                        thrpt:  [2.7533 Melem/s 2.7537 Melem/s 2.7542 Melem/s]
Found 5 outliers among 100 measurements (5.00%)
  1 (1.00%) low mild
  2 (2.00%) high mild
  2 (2.00%) high severe
sqrt_interdependent_tasks/futures_util::stream::FuturesOrdered
                        time:   [5.8809 ms 5.8839 ms 5.8873 ms]
                        thrpt:  [2.7829 Melem/s 2.7845 Melem/s 2.7860 Melem/s]
Found 5 outliers among 100 measurements (5.00%)
  1 (1.00%) high mild
  4 (4.00%) high severe
sqrt_interdependent_tasks/futures_util::stream::FuturesUnordered
                        time:   [5.2181 ms 5.2202 ms 5.2226 ms]
                        thrpt:  [3.1372 Melem/s 3.1386 Melem/s 3.1399 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  1 (1.00%) low severe
  2 (2.00%) high mild
  1 (1.00%) high severe
Benchmarking sqrt_interdependent_tasks/async_executor::LocalExecutor: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 37.7s, enable flat sampling, or reduce sample count to 60.
sqrt_interdependent_tasks/async_executor::LocalExecutor
                        time:   [7.3865 ms 7.3890 ms 7.3920 ms]
                        thrpt:  [2.2164 Melem/s 2.2174 Melem/s 2.2181 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
sqrt_interdependent_tasks/unsend::executor::Executor
                        time:   [5.6640 ms 5.6659 ms 5.6683 ms]
                        thrpt:  [2.8905 Melem/s 2.8917 Melem/s 2.8926 Melem/s]
Found 19 outliers among 100 measurements (19.00%)
  1 (1.00%) high mild
  18 (18.00%) high severe
Benchmarking sqrt_interdependent_tasks/tokio::task::LocalSet::spawn_local/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 32.3s, enable flat sampling, or reduce sample count to 60.
sqrt_interdependent_tasks/tokio::task::LocalSet::spawn_local/current-thread
                        time:   [6.3692 ms 6.3744 ms 6.3805 ms]
                        thrpt:  [2.5678 Melem/s 2.5703 Melem/s 2.5724 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe
Benchmarking sqrt_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 49.2s, enable flat sampling, or reduce sample count to 50.
sqrt_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/current-thread
                        time:   [9.7686 ms 9.7742 ms 9.7796 ms]
                        thrpt:  [1.6753 Melem/s 1.6762 Melem/s 1.6772 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  1 (1.00%) low mild
  1 (1.00%) high mild
  2 (2.00%) high severe
Benchmarking sqrt_interdependent_tasks/tokio::task::LocalSet::spawn_local/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 32.3s, enable flat sampling, or reduce sample count to 60.
sqrt_interdependent_tasks/tokio::task::LocalSet::spawn_local/multi-thread
                        time:   [6.4289 ms 6.4420 ms 6.4543 ms]
                        thrpt:  [2.5384 Melem/s 2.5433 Melem/s 2.5485 Melem/s]
Found 9 outliers among 100 measurements (9.00%)
  7 (7.00%) high mild
  2 (2.00%) high severe
Benchmarking sqrt_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 50.4s, enable flat sampling, or reduce sample count to 50.
sqrt_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread
                        time:   [9.6907 ms 9.7018 ms 9.7144 ms]
                        thrpt:  [1.6866 Melem/s 1.6888 Melem/s 1.6907 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
Benchmarking sqrt_interdependent_tasks/async_executor::Executor: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 37.4s, enable flat sampling, or reduce sample count to 60.
sqrt_interdependent_tasks/async_executor::Executor
                        time:   [7.3956 ms 7.3969 ms 7.3984 ms]
                        thrpt:  [2.2145 Melem/s 2.2150 Melem/s 2.2154 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  1 (1.00%) high mild
  3 (3.00%) high severe
Benchmarking sqrt_interdependent_tasks/tokio::task::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 33.4s, enable flat sampling, or reduce sample count to 60.
sqrt_interdependent_tasks/tokio::task::spawn/current-thread
                        time:   [6.6131 ms 6.6178 ms 6.6225 ms]
                        thrpt:  [2.4740 Melem/s 2.4758 Melem/s 2.4775 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high severe
Benchmarking sqrt_interdependent_tasks/tokio::task::JoinSet::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 50.6s, enable flat sampling, or reduce sample count to 50.
sqrt_interdependent_tasks/tokio::task::JoinSet::spawn/current-thread
                        time:   [10.010 ms 10.015 ms 10.021 ms]
                        thrpt:  [1.6350 Melem/s 1.6359 Melem/s 1.6368 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  2 (2.00%) low mild
  1 (1.00%) high mild
  1 (1.00%) high severe
sqrt_interdependent_tasks/tokio::task::spawn/multi-thread
                        time:   [13.231 ms 13.300 ms 13.364 ms]
                        thrpt:  [1.2260 Melem/s 1.2319 Melem/s 1.2383 Melem/s]
Found 5 outliers among 100 measurements (5.00%)
  3 (3.00%) low severe
  2 (2.00%) low mild
sqrt_interdependent_tasks/tokio::task::JoinSet::spawn/multi-thread
                        time:   [19.382 ms 19.424 ms 19.465 ms]
                        thrpt:  [841.72 Kelem/s 843.50 Kelem/s 845.32 Kelem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) low mild

10000_interdependent_tasks/futures_concurrency::join
                        time:   [217.93 ms 218.06 ms 218.20 ms]
                        thrpt:  [75.086 Kelem/s 75.136 Kelem/s 75.179 Kelem/s]
Found 6 outliers among 100 measurements (6.00%)
  3 (3.00%) low mild
  2 (2.00%) high mild
  1 (1.00%) high severe
Benchmarking 10000_interdependent_tasks/futures_concurrency::FutureGroup: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 36.0s, or reduce sample count to 80.
10000_interdependent_tasks/futures_concurrency::FutureGroup
                        time:   [359.38 ms 359.43 ms 359.48 ms]
                        thrpt:  [45.577 Kelem/s 45.583 Kelem/s 45.590 Kelem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild
10000_interdependent_tasks/slotpoller::StackSlots
                        time:   [2.8547 ms 2.8562 ms 2.8578 ms]
                        thrpt:  [5.7331 Melem/s 5.7363 Melem/s 5.7392 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
10000_interdependent_tasks/slotpoller::HeapSlots
                        time:   [2.8460 ms 2.8474 ms 2.8488 ms]
                        thrpt:  [5.7511 Melem/s 5.7540 Melem/s 5.7568 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe
10000_interdependent_tasks/futures_util::future::JoinAll
                        time:   [5.8433 ms 5.8449 ms 5.8473 ms]
                        thrpt:  [2.8020 Melem/s 2.8031 Melem/s 2.8039 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  2 (2.00%) high mild
  2 (2.00%) high severe
10000_interdependent_tasks/futures_util::stream::FuturesOrdered
                        time:   [5.8424 ms 5.8437 ms 5.8451 ms]
                        thrpt:  [2.8030 Melem/s 2.8037 Melem/s 2.8043 Melem/s]
Found 6 outliers among 100 measurements (6.00%)
  2 (2.00%) low mild
  1 (1.00%) high mild
  3 (3.00%) high severe
10000_interdependent_tasks/futures_util::stream::FuturesUnordered
                        time:   [5.2866 ms 5.2973 ms 5.3067 ms]
                        thrpt:  [3.0874 Melem/s 3.0929 Melem/s 3.0992 Melem/s]
Benchmarking 10000_interdependent_tasks/async_executor::LocalExecutor: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 38.0s, enable flat sampling, or reduce sample count to 60.
10000_interdependent_tasks/async_executor::LocalExecutor
                        time:   [7.4469 ms 7.4491 ms 7.4518 ms]
                        thrpt:  [2.1987 Melem/s 2.1994 Melem/s 2.2001 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
10000_interdependent_tasks/unsend::executor::Executor
                        time:   [5.6670 ms 5.6680 ms 5.6690 ms]
                        thrpt:  [2.8901 Melem/s 2.8906 Melem/s 2.8911 Melem/s]
Found 16 outliers among 100 measurements (16.00%)
  2 (2.00%) high mild
  14 (14.00%) high severe
Benchmarking 10000_interdependent_tasks/tokio::task::LocalSet::spawn_local/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 32.3s, enable flat sampling, or reduce sample count to 60.
10000_interdependent_tasks/tokio::task::LocalSet::spawn_local/current-thread
                        time:   [6.3633 ms 6.3684 ms 6.3741 ms]
                        thrpt:  [2.5704 Melem/s 2.5727 Melem/s 2.5748 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) high mild
  2 (2.00%) high severe
Benchmarking 10000_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 49.0s, enable flat sampling, or reduce sample count to 50.
10000_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/current-thread
                        time:   [9.7181 ms 9.7232 ms 9.7285 ms]
                        thrpt:  [1.6841 Melem/s 1.6850 Melem/s 1.6859 Melem/s]
Found 5 outliers among 100 measurements (5.00%)
  3 (3.00%) high mild
  2 (2.00%) high severe
Benchmarking 10000_interdependent_tasks/tokio::task::LocalSet::spawn_local/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 32.0s, enable flat sampling, or reduce sample count to 60.
10000_interdependent_tasks/tokio::task::LocalSet::spawn_local/multi-thread
                        time:   [6.3308 ms 6.3357 ms 6.3413 ms]
                        thrpt:  [2.5837 Melem/s 2.5860 Melem/s 2.5880 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe
Benchmarking 10000_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 49.3s, enable flat sampling, or reduce sample count to 50.
10000_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread
                        time:   [9.7688 ms 9.7784 ms 9.7883 ms]
                        thrpt:  [1.6738 Melem/s 1.6755 Melem/s 1.6772 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) high mild
  2 (2.00%) high severe
Benchmarking 10000_interdependent_tasks/async_executor::Executor: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 37.7s, enable flat sampling, or reduce sample count to 60.
10000_interdependent_tasks/async_executor::Executor
                        time:   [7.4545 ms 7.4568 ms 7.4596 ms]
                        thrpt:  [2.1964 Melem/s 2.1972 Melem/s 2.1979 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  1 (1.00%) high mild
  3 (3.00%) high severe
Benchmarking 10000_interdependent_tasks/tokio::task::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 33.4s, enable flat sampling, or reduce sample count to 60.
10000_interdependent_tasks/tokio::task::spawn/current-thread
                        time:   [6.6189 ms 6.6234 ms 6.6283 ms]
                        thrpt:  [2.4718 Melem/s 2.4736 Melem/s 2.4753 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high severe
Benchmarking 10000_interdependent_tasks/tokio::task::JoinSet::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 51.0s, enable flat sampling, or reduce sample count to 50.
10000_interdependent_tasks/tokio::task::JoinSet::spawn/current-thread
                        time:   [10.122 ms 10.129 ms 10.136 ms]
                        thrpt:  [1.6164 Melem/s 1.6175 Melem/s 1.6187 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  2 (2.00%) low mild
  2 (2.00%) high severe
10000_interdependent_tasks/tokio::task::spawn/multi-thread
                        time:   [14.234 ms 14.330 ms 14.422 ms]
                        thrpt:  [1.1361 Melem/s 1.1433 Melem/s 1.1511 Melem/s]
Found 6 outliers among 100 measurements (6.00%)
  6 (6.00%) low mild
10000_interdependent_tasks/tokio::task::JoinSet::spawn/multi-thread
                        time:   [19.874 ms 19.959 ms 20.042 ms]
                        thrpt:  [817.49 Kelem/s 820.89 Kelem/s 824.40 Kelem/s]
Found 4 outliers among 100 measurements (4.00%)
  4 (4.00%) low mild

1000_interdependent_tasks/futures_concurrency::join
                        time:   [77.518 ms 77.556 ms 77.592 ms]
                        thrpt:  [211.16 Kelem/s 211.25 Kelem/s 211.36 Kelem/s]
Found 5 outliers among 100 measurements (5.00%)
  5 (5.00%) low mild
Benchmarking 1000_interdependent_tasks/futures_concurrency::FutureGroup: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 35.7s, or reduce sample count to 80.
1000_interdependent_tasks/futures_concurrency::FutureGroup
                        time:   [357.00 ms 357.06 ms 357.12 ms]
                        thrpt:  [45.878 Kelem/s 45.886 Kelem/s 45.893 Kelem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) low mild
  1 (1.00%) high mild
  1 (1.00%) high severe
1000_interdependent_tasks/slotpoller::StackSlots
                        time:   [2.8490 ms 2.8497 ms 2.8504 ms]
                        thrpt:  [5.7479 Melem/s 5.7494 Melem/s 5.7508 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  3 (3.00%) high severe
1000_interdependent_tasks/slotpoller::HeapSlots
                        time:   [2.8760 ms 2.8779 ms 2.8802 ms]
                        thrpt:  [5.6885 Melem/s 5.6930 Melem/s 5.6969 Melem/s]
Found 12 outliers among 100 measurements (12.00%)
  11 (11.00%) high mild
  1 (1.00%) high severe
1000_interdependent_tasks/futures_util::future::JoinAll
                        time:   [5.8800 ms 5.8807 ms 5.8814 ms]
                        thrpt:  [2.7857 Melem/s 2.7861 Melem/s 2.7864 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high severe
1000_interdependent_tasks/futures_util::stream::FuturesOrdered
                        time:   [5.8763 ms 5.8786 ms 5.8813 ms]
                        thrpt:  [2.7858 Melem/s 2.7870 Melem/s 2.7882 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) low mild
  1 (1.00%) high mild
  1 (1.00%) high severe
1000_interdependent_tasks/futures_util::stream::FuturesUnordered
                        time:   [5.2525 ms 5.2558 ms 5.2588 ms]
                        thrpt:  [3.1155 Melem/s 3.1173 Melem/s 3.1193 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) low severe
  2 (2.00%) high severe
Benchmarking 1000_interdependent_tasks/async_executor::LocalExecutor: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 37.7s, enable flat sampling, or reduce sample count to 60.
1000_interdependent_tasks/async_executor::LocalExecutor
                        time:   [7.4177 ms 7.4210 ms 7.4250 ms]
                        thrpt:  [2.2066 Melem/s 2.2078 Melem/s 2.2088 Melem/s]
Found 10 outliers among 100 measurements (10.00%)
  4 (4.00%) high mild
  6 (6.00%) high severe
1000_interdependent_tasks/unsend::executor::Executor
                        time:   [5.6975 ms 5.6983 ms 5.6991 ms]
                        thrpt:  [2.8748 Melem/s 2.8753 Melem/s 2.8757 Melem/s]
Found 17 outliers among 100 measurements (17.00%)
  1 (1.00%) high mild
  16 (16.00%) high severe
Benchmarking 1000_interdependent_tasks/tokio::task::LocalSet::spawn_local/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 32.1s, enable flat sampling, or reduce sample count to 60.
1000_interdependent_tasks/tokio::task::LocalSet::spawn_local/current-thread
                        time:   [6.3590 ms 6.3632 ms 6.3675 ms]
                        thrpt:  [2.5731 Melem/s 2.5748 Melem/s 2.5765 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) high mild
  2 (2.00%) high severe
Benchmarking 1000_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 49.0s, enable flat sampling, or reduce sample count to 50.
1000_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/current-thread
                        time:   [9.6850 ms 9.6929 ms 9.7018 ms]
                        thrpt:  [1.6888 Melem/s 1.6903 Melem/s 1.6917 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe
Benchmarking 1000_interdependent_tasks/tokio::task::LocalSet::spawn_local/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 31.8s, enable flat sampling, or reduce sample count to 60.
1000_interdependent_tasks/tokio::task::LocalSet::spawn_local/multi-thread
                        time:   [6.2820 ms 6.2848 ms 6.2879 ms]
                        thrpt:  [2.6056 Melem/s 2.6069 Melem/s 2.6081 Melem/s]
Found 9 outliers among 100 measurements (9.00%)
  2 (2.00%) high mild
  7 (7.00%) high severe
Benchmarking 1000_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 48.9s, enable flat sampling, or reduce sample count to 50.
1000_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread
                        time:   [9.6972 ms 9.7061 ms 9.7168 ms]
                        thrpt:  [1.6862 Melem/s 1.6880 Melem/s 1.6896 Melem/s]
Found 5 outliers among 100 measurements (5.00%)
  4 (4.00%) high mild
  1 (1.00%) high severe
Benchmarking 1000_interdependent_tasks/async_executor::Executor: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 38.1s, enable flat sampling, or reduce sample count to 60.
1000_interdependent_tasks/async_executor::Executor
                        time:   [7.5138 ms 7.5248 ms 7.5346 ms]
                        thrpt:  [2.1745 Melem/s 2.1773 Melem/s 2.1805 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe
Benchmarking 1000_interdependent_tasks/tokio::task::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 33.3s, enable flat sampling, or reduce sample count to 60.
1000_interdependent_tasks/tokio::task::spawn/current-thread
                        time:   [6.5820 ms 6.5855 ms 6.5895 ms]
                        thrpt:  [2.4864 Melem/s 2.4879 Melem/s 2.4892 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high severe
Benchmarking 1000_interdependent_tasks/tokio::task::JoinSet::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 50.9s, enable flat sampling, or reduce sample count to 50.
1000_interdependent_tasks/tokio::task::JoinSet::spawn/current-thread
                        time:   [10.101 ms 10.108 ms 10.115 ms]
                        thrpt:  [1.6198 Melem/s 1.6209 Melem/s 1.6221 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) low severe
  1 (1.00%) low mild
  1 (1.00%) high severe
1000_interdependent_tasks/tokio::task::spawn/multi-thread
                        time:   [13.736 ms 13.825 ms 13.904 ms]
                        thrpt:  [1.1783 Melem/s 1.1851 Melem/s 1.1928 Melem/s]
Found 10 outliers among 100 measurements (10.00%)
  8 (8.00%) low severe
  1 (1.00%) low mild
  1 (1.00%) high mild
1000_interdependent_tasks/tokio::task::JoinSet::spawn/multi-thread
                        time:   [19.792 ms 19.840 ms 19.887 ms]
                        thrpt:  [823.84 Kelem/s 825.83 Kelem/s 827.82 Kelem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) low mild

100_interdependent_tasks/futures_concurrency::join
                        time:   [13.880 ms 13.884 ms 13.888 ms]
                        thrpt:  [1.1797 Melem/s 1.1801 Melem/s 1.1804 Melem/s]
Found 5 outliers among 100 measurements (5.00%)
  1 (1.00%) low mild
  2 (2.00%) high mild
  2 (2.00%) high severe
Benchmarking 100_interdependent_tasks/futures_concurrency::FutureGroup: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 35.3s, or reduce sample count to 80.
100_interdependent_tasks/futures_concurrency::FutureGroup
                        time:   [352.31 ms 352.37 ms 352.45 ms]
                        thrpt:  [46.487 Kelem/s 46.496 Kelem/s 46.505 Kelem/s]
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe
100_interdependent_tasks/slotpoller::StackSlots
                        time:   [2.8285 ms 2.8289 ms 2.8293 ms]
                        thrpt:  [5.7908 Melem/s 5.7916 Melem/s 5.7925 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high severe
100_interdependent_tasks/slotpoller::HeapSlots
                        time:   [2.8253 ms 2.8260 ms 2.8268 ms]
                        thrpt:  [5.7960 Melem/s 5.7976 Melem/s 5.7991 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe
Benchmarking 100_interdependent_tasks/futures_util::future::JoinAll: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 30.1s, enable flat sampling, or reduce sample count to 70.
100_interdependent_tasks/futures_util::future::JoinAll
                        time:   [5.9406 ms 5.9413 ms 5.9420 ms]
                        thrpt:  [2.7573 Melem/s 2.7576 Melem/s 2.7580 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  1 (1.00%) low mild
  1 (1.00%) high mild
  2 (2.00%) high severe
Benchmarking 100_interdependent_tasks/futures_util::stream::FuturesOrdered: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 30.1s, enable flat sampling, or reduce sample count to 70.
100_interdependent_tasks/futures_util::stream::FuturesOrdered
                        time:   [5.9682 ms 5.9717 ms 5.9754 ms]
                        thrpt:  [2.7419 Melem/s 2.7436 Melem/s 2.7452 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe
100_interdependent_tasks/futures_util::stream::FuturesUnordered
                        time:   [5.2705 ms 5.2746 ms 5.2787 ms]
                        thrpt:  [3.1038 Melem/s 3.1062 Melem/s 3.1087 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
Benchmarking 100_interdependent_tasks/async_executor::LocalExecutor: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 37.5s, enable flat sampling, or reduce sample count to 60.
100_interdependent_tasks/async_executor::LocalExecutor
                        time:   [7.4052 ms 7.4068 ms 7.4086 ms]
                        thrpt:  [2.2115 Melem/s 2.2120 Melem/s 2.2125 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  2 (2.00%) high mild
  2 (2.00%) high severe
100_interdependent_tasks/unsend::executor::Executor
                        time:   [5.6813 ms 5.6818 ms 5.6825 ms]
                        thrpt:  [2.8833 Melem/s 2.8836 Melem/s 2.8839 Melem/s]
Found 18 outliers among 100 measurements (18.00%)
  18 (18.00%) high severe
Benchmarking 100_interdependent_tasks/tokio::task::LocalSet::spawn_local/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 32.2s, enable flat sampling, or reduce sample count to 60.
100_interdependent_tasks/tokio::task::LocalSet::spawn_local/current-thread
                        time:   [6.3492 ms 6.3531 ms 6.3572 ms]
                        thrpt:  [2.5772 Melem/s 2.5789 Melem/s 2.5805 Melem/s]
Found 8 outliers among 100 measurements (8.00%)
  6 (6.00%) high mild
  2 (2.00%) high severe
Benchmarking 100_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 49.2s, enable flat sampling, or reduce sample count to 50.
100_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/current-thread
                        time:   [9.7289 ms 9.7340 ms 9.7392 ms]
                        thrpt:  [1.6823 Melem/s 1.6832 Melem/s 1.6841 Melem/s]
Found 4 outliers among 100 measurements (4.00%)
  2 (2.00%) high mild
  2 (2.00%) high severe
Benchmarking 100_interdependent_tasks/tokio::task::LocalSet::spawn_local/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 32.1s, enable flat sampling, or reduce sample count to 60.
100_interdependent_tasks/tokio::task::LocalSet::spawn_local/multi-thread
                        time:   [6.3172 ms 6.3200 ms 6.3231 ms]
                        thrpt:  [2.5911 Melem/s 2.5924 Melem/s 2.5935 Melem/s]
Found 6 outliers among 100 measurements (6.00%)
  2 (2.00%) high mild
  4 (4.00%) high severe
Benchmarking 100_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 49.1s, enable flat sampling, or reduce sample count to 50.
100_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread
                        time:   [9.6883 ms 9.6948 ms 9.7012 ms]
                        thrpt:  [1.6889 Melem/s 1.6900 Melem/s 1.6911 Melem/s]
Found 9 outliers among 100 measurements (9.00%)
  3 (3.00%) high mild
  6 (6.00%) high severe
Benchmarking 100_interdependent_tasks/async_executor::Executor: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 37.4s, enable flat sampling, or reduce sample count to 60.
100_interdependent_tasks/async_executor::Executor
                        time:   [7.3870 ms 7.3876 ms 7.3882 ms]
                        thrpt:  [2.2176 Melem/s 2.2178 Melem/s 2.2179 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high severe
Benchmarking 100_interdependent_tasks/tokio::task::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 33.4s, enable flat sampling, or reduce sample count to 60.
100_interdependent_tasks/tokio::task::spawn/current-thread
                        time:   [6.7775 ms 6.7883 ms 6.8000 ms]
                        thrpt:  [2.4094 Melem/s 2.4135 Melem/s 2.4174 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe
Benchmarking 100_interdependent_tasks/tokio::task::JoinSet::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 51.0s, enable flat sampling, or reduce sample count to 50.
100_interdependent_tasks/tokio::task::JoinSet::spawn/current-thread
                        time:   [10.075 ms 10.081 ms 10.086 ms]
                        thrpt:  [1.6244 Melem/s 1.6252 Melem/s 1.6263 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) low mild
  2 (2.00%) high severe
100_interdependent_tasks/tokio::task::spawn/multi-thread
                        time:   [13.262 ms 13.346 ms 13.420 ms]
                        thrpt:  [1.2209 Melem/s 1.2277 Melem/s 1.2354 Melem/s]
Found 7 outliers among 100 measurements (7.00%)
  7 (7.00%) low severe
100_interdependent_tasks/tokio::task::JoinSet::spawn/multi-thread
                        time:   [19.189 ms 19.223 ms 19.258 ms]
                        thrpt:  [850.76 Kelem/s 852.29 Kelem/s 853.84 Kelem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) low mild

10_interdependent_tasks/futures_concurrency::join
                        time:   [4.5877 ms 4.5884 ms 4.5892 ms]
                        thrpt:  [3.5702 Melem/s 3.5707 Melem/s 3.5713 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
Benchmarking 10_interdependent_tasks/futures_concurrency::FutureGroup: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 31.6s, or reduce sample count to 90.
10_interdependent_tasks/futures_concurrency::FutureGroup
                        time:   [315.40 ms 315.43 ms 315.47 ms]
                        thrpt:  [51.935 Kelem/s 51.941 Kelem/s 51.947 Kelem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) low mild
  1 (1.00%) high mild
10_interdependent_tasks/slotpoller::StackSlots
                        time:   [2.7999 ms 2.8010 ms 2.8021 ms]
                        thrpt:  [5.8470 Melem/s 5.8494 Melem/s 5.8517 Melem/s]
Found 7 outliers among 100 measurements (7.00%)
  5 (5.00%) high mild
  2 (2.00%) high severe
10_interdependent_tasks/slotpoller::HeapSlots
                        time:   [2.8193 ms 2.8212 ms 2.8230 ms]
                        thrpt:  [5.8038 Melem/s 5.8074 Melem/s 5.8114 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe
10_interdependent_tasks/futures_util::future::JoinAll
                        time:   [5.7046 ms 5.7057 ms 5.7072 ms]
                        thrpt:  [2.8708 Melem/s 2.8715 Melem/s 2.8720 Melem/s]
Found 6 outliers among 100 measurements (6.00%)
  2 (2.00%) low mild
  1 (1.00%) high mild
  3 (3.00%) high severe
10_interdependent_tasks/futures_util::stream::FuturesOrdered
                        time:   [5.6998 ms 5.7021 ms 5.7048 ms]
                        thrpt:  [2.8720 Melem/s 2.8733 Melem/s 2.8745 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high severe
10_interdependent_tasks/futures_util::stream::FuturesUnordered
                        time:   [5.0914 ms 5.0948 ms 5.0980 ms]
                        thrpt:  [3.2138 Melem/s 3.2158 Melem/s 3.2180 Melem/s]
Found 18 outliers among 100 measurements (18.00%)
  1 (1.00%) low mild
  17 (17.00%) high severe
Benchmarking 10_interdependent_tasks/async_executor::LocalExecutor: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 37.7s, enable flat sampling, or reduce sample count to 60.
10_interdependent_tasks/async_executor::LocalExecutor
                        time:   [7.2986 ms 7.3164 ms 7.3360 ms]
                        thrpt:  [2.2334 Melem/s 2.2393 Melem/s 2.2448 Melem/s]
Found 1 outliers among 100 measurements (1.00%)
  1 (1.00%) high severe
10_interdependent_tasks/unsend::executor::Executor
                        time:   [5.5930 ms 5.5938 ms 5.5947 ms]
                        thrpt:  [2.9285 Melem/s 2.9289 Melem/s 2.9294 Melem/s]
Found 17 outliers among 100 measurements (17.00%)
  17 (17.00%) high severe
Benchmarking 10_interdependent_tasks/tokio::task::LocalSet::spawn_local/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 31.9s, enable flat sampling, or reduce sample count to 60.
10_interdependent_tasks/tokio::task::LocalSet::spawn_local/current-thread
                        time:   [6.3041 ms 6.3074 ms 6.3107 ms]
                        thrpt:  [2.5962 Melem/s 2.5976 Melem/s 2.5989 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) high mild
  2 (2.00%) high severe
Benchmarking 10_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 49.0s, enable flat sampling, or reduce sample count to 50.
10_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/current-thread
                        time:   [9.6922 ms 9.6954 ms 9.6988 ms]
                        thrpt:  [1.6893 Melem/s 1.6899 Melem/s 1.6904 Melem/s]
Found 5 outliers among 100 measurements (5.00%)
  1 (1.00%) low mild
  3 (3.00%) high mild
  1 (1.00%) high severe
Benchmarking 10_interdependent_tasks/tokio::task::LocalSet::spawn_local/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 31.8s, enable flat sampling, or reduce sample count to 60.
10_interdependent_tasks/tokio::task::LocalSet::spawn_local/multi-thread
                        time:   [6.2865 ms 6.2920 ms 6.2983 ms]
                        thrpt:  [2.6013 Melem/s 2.6039 Melem/s 2.6062 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) high mild
  2 (2.00%) high severe
Benchmarking 10_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 49.2s, enable flat sampling, or reduce sample count to 50.
10_interdependent_tasks/tokio::task::JoinSet::spawn_local_on/multi-thread
                        time:   [9.6698 ms 9.6966 ms 9.7296 ms]
                        thrpt:  [1.6839 Melem/s 1.6897 Melem/s 1.6944 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
Benchmarking 10_interdependent_tasks/async_executor::Executor: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 36.7s, enable flat sampling, or reduce sample count to 60.
10_interdependent_tasks/async_executor::Executor
                        time:   [7.2605 ms 7.2614 ms 7.2622 ms]
                        thrpt:  [2.2561 Melem/s 2.2563 Melem/s 2.2566 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) high mild
  2 (2.00%) high severe
Benchmarking 10_interdependent_tasks/tokio::task::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 32.8s, enable flat sampling, or reduce sample count to 60.
10_interdependent_tasks/tokio::task::spawn/current-thread
                        time:   [6.5088 ms 6.5123 ms 6.5155 ms]
                        thrpt:  [2.5146 Melem/s 2.5159 Melem/s 2.5172 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) high mild
  2 (2.00%) high severe
Benchmarking 10_interdependent_tasks/tokio::task::JoinSet::spawn/current-thread: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 30.0s. You may wish to increase target time to 51.7s, enable flat sampling, or reduce sample count to 50.
10_interdependent_tasks/tokio::task::JoinSet::spawn/current-thread
                        time:   [10.103 ms 10.119 ms 10.141 ms]
                        thrpt:  [1.6156 Melem/s 1.6191 Melem/s 1.6217 Melem/s]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
10_interdependent_tasks/tokio::task::spawn/multi-thread
                        time:   [13.687 ms 13.751 ms 13.806 ms]
                        thrpt:  [1.1868 Melem/s 1.1915 Melem/s 1.1970 Melem/s]
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) low severe
  1 (1.00%) low mild
10_interdependent_tasks/tokio::task::JoinSet::spawn/multi-thread
                        time:   [18.662 ms 18.695 ms 18.728 ms]
                        thrpt:  [874.84 Kelem/s 876.37 Kelem/s 877.94 Kelem/s]
Found 3 outliers among 100 measurements (3.00%)
  1 (1.00%) low mild
  2 (2.00%) high mild
```