benches: expose preemption knobs + sweep runner
Config API changes (src/preempt.rs, src/runtime.rs):
- preempt: promote ALLOC_INTERVAL and TIMESLICE_CYCLES from bare consts to
DEFAULT_ALLOC_INTERVAL / DEFAULT_TIMESLICE_CYCLES; store active values in
thread-locals set on each actor resume so multiple runtimes can use
different settings concurrently.
- runtime: add alloc_interval / timeslice_cycles fields to Config; add
Config::alloc_interval(n) and Config::timeslice_cycles(c) builder methods;
thread the values through RuntimeInner to the reset_timeslice() call in
schedule_loop.
Bench changes:
- Add bench_cfg(threads) helper to general/tokio_favored/smarm_favored that
wraps Config::exact and reads SMARM_ALLOC_INTERVAL / SMARM_TIMESLICE_CYCLES
env vars, so the sweep script can vary knobs without recompiling.
Sweep tooling (benches/sweep.py):
- 'run': run the 3-file bench suite once; --save-baseline persists JSON
- 'regress': compare current run against baseline.json, exit 1 on any bench
that regresses >10% vs stored medians
- 'sweep': run the full SWEEP_GRID (10 points), print comparison table,
optional --save-csv; binaries pre-built so no recompile per point
Sweep results (10-point grid, 1-CPU sandbox):
- The preemption knobs have very little effect on this single-CPU machine.
Most benches move <5% across the entire grid.
- Longer timeslices (tc=600k, tc=1200k) reliably hurt spawn_storm_busy
(+11-15%) and catch_unwind_panics (+10-12%) because actors hold the
scheduler mutex longer per timeslice, stalling the storm of joinable tasks.
- Shorter timeslices (tc=150k) give a small improvement on many_timers
(-3-4%) and a wash everywhere else.
- yield_in_hot_loop and uncontended_channel are essentially flat across all
knobs — both are scheduling-dominated and call yield_now explicitly, so
the RDTSC-driven preemption path is irrelevant.
- Conclusion: the knobs matter primarily under contention (multi-core).
Re-run sweep on a multi-core machine before drawing tuning conclusions.
This commit is contained in:
126
benches/baseline-output/sweep/ai128_tc1200k.txt
Normal file
126
benches/baseline-output/sweep/ai128_tc1200k.txt
Normal file
@@ -0,0 +1,126 @@
|
||||
smarm general benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
CHAIN_DEPTH=1000, YIELD_TASKS=200×1000, PRIME_N=400000/64 workers, PP_ROUNDS=1000
|
||||
|
||||
================================================================================
|
||||
chained_spawn: depth 1000
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 8720 | 8526 | 9319
|
||||
smarm 1-thread | 1000 | 8662 | 8571 | 8991
|
||||
tokio current_thread | 1000 | 123 | 123 | 152
|
||||
tokio multi-thread | 1000 | 188 | 184 | 230
|
||||
|
||||
================================================================================
|
||||
yield_many: 200 tasks × 1000 yields
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 200000 | 41530 | 41242 | 43501
|
||||
smarm 1-thread | 200000 | 41575 | 41187 | 43323
|
||||
tokio current_thread | 200000 | 15098 | 15020 | 15348
|
||||
tokio multi-thread | 200000 | 15900 | 15827 | 16012
|
||||
|
||||
================================================================================
|
||||
fan_out_compute: primes in [2, 400000) across 64
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 29573 | 29435 | 31647
|
||||
smarm 1-thread | 33860 | 29521 | 29453 | 29847
|
||||
tokio current_thread | 33860 | 28495 | 28441 | 30150
|
||||
tokio multi-thread | 33860 | 34384 | 34297 | 34745
|
||||
|
||||
================================================================================
|
||||
ping_pong_oneshot: 1000 rounds
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 17190 | 16994 | 17541
|
||||
smarm 1-thread | 1000 | 17078 | 16916 | 19139
|
||||
tokio current_thread | 1000 | 899 | 896 | 1000
|
||||
tokio multi-thread | 1000 | 4198 | 4116 | 4573
|
||||
smarm tokio-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
STORM_BACKGROUND=8, STORM_SPAWN=10000, MPSC=32×10000, TIMER_ACTORS=10000 (1–10 ms), SCALING_N=400000/64
|
||||
|
||||
================================================================================
|
||||
spawn_storm_busy: 8 bg yielders + 10000 zero-work spawns
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 138556 | 136165 | 140947
|
||||
smarm 1-thread | 10000 | 140223 | 136325 | 146781
|
||||
tokio current_thread | 10000 | 2671 | 2622 | 2913
|
||||
tokio multi-thread | 10000 | 6004 | 4360 | 12576
|
||||
|
||||
================================================================================
|
||||
mpsc_contention: 32 producers × 10000 msgs → 1 consumer
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 320000 | 9051 | 8967 | 11152
|
||||
smarm 1-thread | 320000 | 9058 | 9008 | 9998
|
||||
tokio current_thread | 320000 | 17375 | 17131 | 18514
|
||||
tokio multi-thread | 320000 | 17955 | 17452 | 18508
|
||||
|
||||
================================================================================
|
||||
many_timers: 10000 actors sleeping 1–10 ms
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 156969 | 153124 | 167711
|
||||
smarm 1-thread | 10000 | 150638 | 146070 | 168286
|
||||
tokio current_thread | 10000 | 13823 | 13482 | 14796
|
||||
tokio multi-thread | 10000 | 15034 | 14425 | 15320
|
||||
|
||||
================================================================================
|
||||
multi_thread_scaling: primes in [2, 400000) across 64 workers
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 30075 | 29707 | 30720
|
||||
tokio multi 1-thread | 33860 | 29060 | 28835 | 44378
|
||||
smarm smarm-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
RECURSE_DEPTH=500, HOT_YIELDS=500000×2, UNCONT_MSGS=1000000, PANIC_TASKS=10000
|
||||
|
||||
================================================================================
|
||||
deep_recursion: depth 500
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1 | 86 | 79 | 130
|
||||
smarm 1-thread | 1 | 83 | 78 | 146
|
||||
tokio current_thread | 1 | 25 | 25 | 31
|
||||
tokio multi-thread | 1 | 49 | 46 | 85
|
||||
|
||||
================================================================================
|
||||
yield_in_hot_loop: 2 actors × 500000 yields (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 190902 | 187600 | 194333
|
||||
tokio current_thread | 1000000 | 150279 | 148175 | 188184
|
||||
|
||||
================================================================================
|
||||
uncontended_channel: 1→1, 1000000 msgs (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 27687 | 27198 | 29555
|
||||
tokio current_thread | 1000000 | 54465 | 54048 | 55954
|
||||
|
||||
================================================================================
|
||||
catch_unwind_panics: 10000 tasks, 50% panic
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 160308 | 154365 | 167009
|
||||
smarm 1-thread | 10000 | 158662 | 155458 | 168896
|
||||
tokio current_thread | 10000 | 267762 | 260876 | 294092
|
||||
tokio multi-thread | 10000 | 275097 | 269344 | 287681
|
||||
126
benches/baseline-output/sweep/ai128_tc150k.txt
Normal file
126
benches/baseline-output/sweep/ai128_tc150k.txt
Normal file
@@ -0,0 +1,126 @@
|
||||
smarm general benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
CHAIN_DEPTH=1000, YIELD_TASKS=200×1000, PRIME_N=400000/64 workers, PP_ROUNDS=1000
|
||||
|
||||
================================================================================
|
||||
chained_spawn: depth 1000
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 8596 | 8491 | 8805
|
||||
smarm 1-thread | 1000 | 8552 | 8461 | 9003
|
||||
tokio current_thread | 1000 | 125 | 125 | 260
|
||||
tokio multi-thread | 1000 | 190 | 184 | 338
|
||||
|
||||
================================================================================
|
||||
yield_many: 200 tasks × 1000 yields
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 200000 | 41885 | 41112 | 43292
|
||||
smarm 1-thread | 200000 | 42174 | 41063 | 43145
|
||||
tokio current_thread | 200000 | 15195 | 15010 | 15589
|
||||
tokio multi-thread | 200000 | 16037 | 15869 | 17057
|
||||
|
||||
================================================================================
|
||||
fan_out_compute: primes in [2, 400000) across 64
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 29872 | 29629 | 31596
|
||||
smarm 1-thread | 33860 | 29776 | 29528 | 30003
|
||||
tokio current_thread | 33860 | 28705 | 28605 | 30287
|
||||
tokio multi-thread | 33860 | 34655 | 34503 | 36596
|
||||
|
||||
================================================================================
|
||||
ping_pong_oneshot: 1000 rounds
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 16898 | 16574 | 17386
|
||||
smarm 1-thread | 1000 | 16871 | 16677 | 18467
|
||||
tokio current_thread | 1000 | 897 | 857 | 991
|
||||
tokio multi-thread | 1000 | 4325 | 4228 | 4458
|
||||
smarm tokio-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
STORM_BACKGROUND=8, STORM_SPAWN=10000, MPSC=32×10000, TIMER_ACTORS=10000 (1–10 ms), SCALING_N=400000/64
|
||||
|
||||
================================================================================
|
||||
spawn_storm_busy: 8 bg yielders + 10000 zero-work spawns
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 133462 | 129526 | 138685
|
||||
smarm 1-thread | 10000 | 130118 | 127633 | 142344
|
||||
tokio current_thread | 10000 | 2713 | 2608 | 2831
|
||||
tokio multi-thread | 10000 | 7367 | 4345 | 11741
|
||||
|
||||
================================================================================
|
||||
mpsc_contention: 32 producers × 10000 msgs → 1 consumer
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 320000 | 9077 | 8944 | 9287
|
||||
smarm 1-thread | 320000 | 9100 | 9033 | 10604
|
||||
tokio current_thread | 320000 | 17310 | 17122 | 18616
|
||||
tokio multi-thread | 320000 | 17484 | 17413 | 17748
|
||||
|
||||
================================================================================
|
||||
many_timers: 10000 actors sleeping 1–10 ms
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 140039 | 135577 | 145123
|
||||
smarm 1-thread | 10000 | 139931 | 135513 | 143841
|
||||
tokio current_thread | 10000 | 14524 | 14378 | 14564
|
||||
tokio multi-thread | 10000 | 15066 | 14677 | 15336
|
||||
|
||||
================================================================================
|
||||
multi_thread_scaling: primes in [2, 400000) across 64 workers
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 29620 | 29511 | 31347
|
||||
tokio multi 1-thread | 33860 | 29046 | 28817 | 29687
|
||||
smarm smarm-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
RECURSE_DEPTH=500, HOT_YIELDS=500000×2, UNCONT_MSGS=1000000, PANIC_TASKS=10000
|
||||
|
||||
================================================================================
|
||||
deep_recursion: depth 500
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1 | 94 | 79 | 371
|
||||
smarm 1-thread | 1 | 183 | 83 | 317
|
||||
tokio current_thread | 1 | 25 | 25 | 31
|
||||
tokio multi-thread | 1 | 54 | 41 | 71
|
||||
|
||||
================================================================================
|
||||
yield_in_hot_loop: 2 actors × 500000 yields (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 189034 | 187674 | 192204
|
||||
tokio current_thread | 1000000 | 151106 | 149564 | 155601
|
||||
|
||||
================================================================================
|
||||
uncontended_channel: 1→1, 1000000 msgs (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 26949 | 26838 | 30868
|
||||
tokio current_thread | 1000000 | 52984 | 52149 | 55141
|
||||
|
||||
================================================================================
|
||||
catch_unwind_panics: 10000 tasks, 50% panic
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 145860 | 143015 | 152734
|
||||
smarm 1-thread | 10000 | 144550 | 141592 | 149247
|
||||
tokio current_thread | 10000 | 267500 | 265301 | 278751
|
||||
tokio multi-thread | 10000 | 275320 | 268986 | 286891
|
||||
126
benches/baseline-output/sweep/ai128_tc300k.txt
Normal file
126
benches/baseline-output/sweep/ai128_tc300k.txt
Normal file
@@ -0,0 +1,126 @@
|
||||
smarm general benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
CHAIN_DEPTH=1000, YIELD_TASKS=200×1000, PRIME_N=400000/64 workers, PP_ROUNDS=1000
|
||||
|
||||
================================================================================
|
||||
chained_spawn: depth 1000
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 8469 | 8414 | 8717
|
||||
smarm 1-thread | 1000 | 8625 | 8479 | 10212
|
||||
tokio current_thread | 1000 | 124 | 123 | 175
|
||||
tokio multi-thread | 1000 | 194 | 184 | 317
|
||||
|
||||
================================================================================
|
||||
yield_many: 200 tasks × 1000 yields
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 200000 | 41949 | 41419 | 43784
|
||||
smarm 1-thread | 200000 | 42005 | 41491 | 45224
|
||||
tokio current_thread | 200000 | 15139 | 15049 | 16352
|
||||
tokio multi-thread | 200000 | 15985 | 15931 | 16306
|
||||
|
||||
================================================================================
|
||||
fan_out_compute: primes in [2, 400000) across 64
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 29640 | 29515 | 31229
|
||||
smarm 1-thread | 33860 | 29777 | 29642 | 30056
|
||||
tokio current_thread | 33860 | 28704 | 28584 | 30317
|
||||
tokio multi-thread | 33860 | 34870 | 34569 | 35876
|
||||
|
||||
================================================================================
|
||||
ping_pong_oneshot: 1000 rounds
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 17098 | 16968 | 18688
|
||||
smarm 1-thread | 1000 | 16918 | 16736 | 17326
|
||||
tokio current_thread | 1000 | 915 | 882 | 1000
|
||||
tokio multi-thread | 1000 | 4371 | 4265 | 4834
|
||||
smarm tokio-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
STORM_BACKGROUND=8, STORM_SPAWN=10000, MPSC=32×10000, TIMER_ACTORS=10000 (1–10 ms), SCALING_N=400000/64
|
||||
|
||||
================================================================================
|
||||
spawn_storm_busy: 8 bg yielders + 10000 zero-work spawns
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 127075 | 124760 | 130259
|
||||
smarm 1-thread | 10000 | 125976 | 125121 | 128728
|
||||
tokio current_thread | 10000 | 2703 | 2646 | 2807
|
||||
tokio multi-thread | 10000 | 7201 | 4267 | 12853
|
||||
|
||||
================================================================================
|
||||
mpsc_contention: 32 producers × 10000 msgs → 1 consumer
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 320000 | 9116 | 8985 | 9237
|
||||
smarm 1-thread | 320000 | 9062 | 8947 | 10648
|
||||
tokio current_thread | 320000 | 17380 | 17192 | 18363
|
||||
tokio multi-thread | 320000 | 17854 | 17554 | 18219
|
||||
|
||||
================================================================================
|
||||
many_timers: 10000 actors sleeping 1–10 ms
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 137944 | 132081 | 141862
|
||||
smarm 1-thread | 10000 | 143773 | 137448 | 153703
|
||||
tokio current_thread | 10000 | 14174 | 13751 | 15079
|
||||
tokio multi-thread | 10000 | 15244 | 14625 | 16700
|
||||
|
||||
================================================================================
|
||||
multi_thread_scaling: primes in [2, 400000) across 64 workers
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 30832 | 30082 | 33360
|
||||
tokio multi 1-thread | 33860 | 29736 | 29321 | 29958
|
||||
smarm smarm-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
RECURSE_DEPTH=500, HOT_YIELDS=500000×2, UNCONT_MSGS=1000000, PANIC_TASKS=10000
|
||||
|
||||
================================================================================
|
||||
deep_recursion: depth 500
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1 | 84 | 78 | 122
|
||||
smarm 1-thread | 1 | 90 | 79 | 157
|
||||
tokio current_thread | 1 | 25 | 25 | 31
|
||||
tokio multi-thread | 1 | 48 | 47 | 62
|
||||
|
||||
================================================================================
|
||||
yield_in_hot_loop: 2 actors × 500000 yields (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 190830 | 188562 | 196621
|
||||
tokio current_thread | 1000000 | 151537 | 150038 | 165825
|
||||
|
||||
================================================================================
|
||||
uncontended_channel: 1→1, 1000000 msgs (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 27265 | 26969 | 29317
|
||||
tokio current_thread | 1000000 | 53894 | 53380 | 56189
|
||||
|
||||
================================================================================
|
||||
catch_unwind_panics: 10000 tasks, 50% panic
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 145006 | 144092 | 149002
|
||||
smarm 1-thread | 10000 | 144417 | 142000 | 148224
|
||||
tokio current_thread | 10000 | 265376 | 260227 | 272279
|
||||
tokio multi-thread | 10000 | 277432 | 270860 | 283266
|
||||
126
benches/baseline-output/sweep/ai128_tc600k.txt
Normal file
126
benches/baseline-output/sweep/ai128_tc600k.txt
Normal file
@@ -0,0 +1,126 @@
|
||||
smarm general benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
CHAIN_DEPTH=1000, YIELD_TASKS=200×1000, PRIME_N=400000/64 workers, PP_ROUNDS=1000
|
||||
|
||||
================================================================================
|
||||
chained_spawn: depth 1000
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 8721 | 8398 | 8994
|
||||
smarm 1-thread | 1000 | 8587 | 8440 | 8810
|
||||
tokio current_thread | 1000 | 124 | 124 | 294
|
||||
tokio multi-thread | 1000 | 188 | 184 | 299
|
||||
|
||||
================================================================================
|
||||
yield_many: 200 tasks × 1000 yields
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 200000 | 42588 | 42084 | 45080
|
||||
smarm 1-thread | 200000 | 42252 | 41963 | 43615
|
||||
tokio current_thread | 200000 | 15101 | 14994 | 15573
|
||||
tokio multi-thread | 200000 | 15979 | 15890 | 16356
|
||||
|
||||
================================================================================
|
||||
fan_out_compute: primes in [2, 400000) across 64
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 29686 | 29491 | 31263
|
||||
smarm 1-thread | 33860 | 29841 | 29586 | 30570
|
||||
tokio current_thread | 33860 | 28652 | 28510 | 30359
|
||||
tokio multi-thread | 33860 | 34677 | 34461 | 35318
|
||||
|
||||
================================================================================
|
||||
ping_pong_oneshot: 1000 rounds
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 16909 | 16579 | 20782
|
||||
smarm 1-thread | 1000 | 16888 | 16537 | 20808
|
||||
tokio current_thread | 1000 | 925 | 911 | 1021
|
||||
tokio multi-thread | 1000 | 4192 | 4079 | 4531
|
||||
smarm tokio-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
STORM_BACKGROUND=8, STORM_SPAWN=10000, MPSC=32×10000, TIMER_ACTORS=10000 (1–10 ms), SCALING_N=400000/64
|
||||
|
||||
================================================================================
|
||||
spawn_storm_busy: 8 bg yielders + 10000 zero-work spawns
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 145813 | 142042 | 152501
|
||||
smarm 1-thread | 10000 | 145119 | 141282 | 161294
|
||||
tokio current_thread | 10000 | 2968 | 2899 | 3231
|
||||
tokio multi-thread | 10000 | 6288 | 4289 | 12226
|
||||
|
||||
================================================================================
|
||||
mpsc_contention: 32 producers × 10000 msgs → 1 consumer
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 320000 | 9662 | 9254 | 11370
|
||||
smarm 1-thread | 320000 | 9673 | 9331 | 9989
|
||||
tokio current_thread | 320000 | 18015 | 17334 | 21096
|
||||
tokio multi-thread | 320000 | 18384 | 17837 | 19534
|
||||
|
||||
================================================================================
|
||||
many_timers: 10000 actors sleeping 1–10 ms
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 160492 | 154795 | 180307
|
||||
smarm 1-thread | 10000 | 161716 | 156498 | 191986
|
||||
tokio current_thread | 10000 | 13895 | 13576 | 14913
|
||||
tokio multi-thread | 10000 | 15074 | 14665 | 16070
|
||||
|
||||
================================================================================
|
||||
multi_thread_scaling: primes in [2, 400000) across 64 workers
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 30001 | 29600 | 38039
|
||||
tokio multi 1-thread | 33860 | 29419 | 28906 | 30079
|
||||
smarm smarm-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
RECURSE_DEPTH=500, HOT_YIELDS=500000×2, UNCONT_MSGS=1000000, PANIC_TASKS=10000
|
||||
|
||||
================================================================================
|
||||
deep_recursion: depth 500
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1 | 91 | 79 | 186
|
||||
smarm 1-thread | 1 | 87 | 81 | 131
|
||||
tokio current_thread | 1 | 25 | 25 | 103
|
||||
tokio multi-thread | 1 | 56 | 47 | 64
|
||||
|
||||
================================================================================
|
||||
yield_in_hot_loop: 2 actors × 500000 yields (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 190023 | 188250 | 193824
|
||||
tokio current_thread | 1000000 | 154681 | 152074 | 187328
|
||||
|
||||
================================================================================
|
||||
uncontended_channel: 1→1, 1000000 msgs (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 27264 | 26772 | 29512
|
||||
tokio current_thread | 1000000 | 53324 | 51744 | 59282
|
||||
|
||||
================================================================================
|
||||
catch_unwind_panics: 10000 tasks, 50% panic
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 155983 | 152595 | 161438
|
||||
smarm 1-thread | 10000 | 162122 | 156170 | 200357
|
||||
tokio current_thread | 10000 | 276303 | 264291 | 296266
|
||||
tokio multi-thread | 10000 | 271350 | 267654 | 285897
|
||||
126
benches/baseline-output/sweep/ai256_tc300k.txt
Normal file
126
benches/baseline-output/sweep/ai256_tc300k.txt
Normal file
@@ -0,0 +1,126 @@
|
||||
smarm general benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
CHAIN_DEPTH=1000, YIELD_TASKS=200×1000, PRIME_N=400000/64 workers, PP_ROUNDS=1000
|
||||
|
||||
================================================================================
|
||||
chained_spawn: depth 1000
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 9130 | 8720 | 10611
|
||||
smarm 1-thread | 1000 | 8808 | 8617 | 9659
|
||||
tokio current_thread | 1000 | 126 | 125 | 164
|
||||
tokio multi-thread | 1000 | 190 | 184 | 329
|
||||
|
||||
================================================================================
|
||||
yield_many: 200 tasks × 1000 yields
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 200000 | 42270 | 41814 | 44737
|
||||
smarm 1-thread | 200000 | 42999 | 42104 | 45424
|
||||
tokio current_thread | 200000 | 15441 | 15196 | 16096
|
||||
tokio multi-thread | 200000 | 16249 | 16070 | 17620
|
||||
|
||||
================================================================================
|
||||
fan_out_compute: primes in [2, 400000) across 64
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 29813 | 29627 | 30176
|
||||
smarm 1-thread | 33860 | 29613 | 29440 | 31205
|
||||
tokio current_thread | 33860 | 28637 | 28406 | 29179
|
||||
tokio multi-thread | 33860 | 34472 | 34389 | 36092
|
||||
|
||||
================================================================================
|
||||
ping_pong_oneshot: 1000 rounds
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 16899 | 16804 | 17017
|
||||
smarm 1-thread | 1000 | 17001 | 16704 | 19533
|
||||
tokio current_thread | 1000 | 914 | 893 | 1021
|
||||
tokio multi-thread | 1000 | 4198 | 4136 | 4297
|
||||
smarm tokio-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
STORM_BACKGROUND=8, STORM_SPAWN=10000, MPSC=32×10000, TIMER_ACTORS=10000 (1–10 ms), SCALING_N=400000/64
|
||||
|
||||
================================================================================
|
||||
spawn_storm_busy: 8 bg yielders + 10000 zero-work spawns
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 128621 | 126503 | 132268
|
||||
smarm 1-thread | 10000 | 131316 | 128354 | 133964
|
||||
tokio current_thread | 10000 | 2763 | 2696 | 2996
|
||||
tokio multi-thread | 10000 | 6023 | 4300 | 12908
|
||||
|
||||
================================================================================
|
||||
mpsc_contention: 32 producers × 10000 msgs → 1 consumer
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 320000 | 9225 | 9071 | 11272
|
||||
smarm 1-thread | 320000 | 9174 | 9028 | 9335
|
||||
tokio current_thread | 320000 | 17210 | 17100 | 18404
|
||||
tokio multi-thread | 320000 | 17550 | 17413 | 18080
|
||||
|
||||
================================================================================
|
||||
many_timers: 10000 actors sleeping 1–10 ms
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 136396 | 133330 | 142485
|
||||
smarm 1-thread | 10000 | 137374 | 134345 | 141168
|
||||
tokio current_thread | 10000 | 13789 | 13499 | 14621
|
||||
tokio multi-thread | 10000 | 15036 | 14729 | 15359
|
||||
|
||||
================================================================================
|
||||
multi_thread_scaling: primes in [2, 400000) across 64 workers
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 30065 | 29819 | 32418
|
||||
tokio multi 1-thread | 33860 | 29501 | 28916 | 30057
|
||||
smarm smarm-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
RECURSE_DEPTH=500, HOT_YIELDS=500000×2, UNCONT_MSGS=1000000, PANIC_TASKS=10000
|
||||
|
||||
================================================================================
|
||||
deep_recursion: depth 500
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1 | 94 | 81 | 257
|
||||
smarm 1-thread | 1 | 83 | 80 | 134
|
||||
tokio current_thread | 1 | 25 | 25 | 33
|
||||
tokio multi-thread | 1 | 57 | 48 | 109
|
||||
|
||||
================================================================================
|
||||
yield_in_hot_loop: 2 actors × 500000 yields (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 188506 | 187971 | 190121
|
||||
tokio current_thread | 1000000 | 149663 | 148978 | 150733
|
||||
|
||||
================================================================================
|
||||
uncontended_channel: 1→1, 1000000 msgs (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 26945 | 26703 | 29430
|
||||
tokio current_thread | 1000000 | 52332 | 51838 | 54062
|
||||
|
||||
================================================================================
|
||||
catch_unwind_panics: 10000 tasks, 50% panic
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 146192 | 143776 | 150609
|
||||
smarm 1-thread | 10000 | 144012 | 140604 | 153892
|
||||
tokio current_thread | 10000 | 268341 | 260941 | 275404
|
||||
tokio multi-thread | 10000 | 272691 | 268094 | 307084
|
||||
126
benches/baseline-output/sweep/ai32_tc150k.txt
Normal file
126
benches/baseline-output/sweep/ai32_tc150k.txt
Normal file
@@ -0,0 +1,126 @@
|
||||
smarm general benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
CHAIN_DEPTH=1000, YIELD_TASKS=200×1000, PRIME_N=400000/64 workers, PP_ROUNDS=1000
|
||||
|
||||
================================================================================
|
||||
chained_spawn: depth 1000
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 8653 | 8522 | 9163
|
||||
smarm 1-thread | 1000 | 8908 | 8660 | 10606
|
||||
tokio current_thread | 1000 | 124 | 123 | 175
|
||||
tokio multi-thread | 1000 | 244 | 184 | 340
|
||||
|
||||
================================================================================
|
||||
yield_many: 200 tasks × 1000 yields
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 200000 | 42597 | 41857 | 43492
|
||||
smarm 1-thread | 200000 | 42621 | 42097 | 44386
|
||||
tokio current_thread | 200000 | 15368 | 15144 | 16484
|
||||
tokio multi-thread | 200000 | 16120 | 16012 | 19222
|
||||
|
||||
================================================================================
|
||||
fan_out_compute: primes in [2, 400000) across 64
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 30499 | 29657 | 33910
|
||||
smarm 1-thread | 33860 | 31190 | 30105 | 32675
|
||||
tokio current_thread | 33860 | 28748 | 28643 | 29398
|
||||
tokio multi-thread | 33860 | 34714 | 34499 | 36338
|
||||
|
||||
================================================================================
|
||||
ping_pong_oneshot: 1000 rounds
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 16990 | 16853 | 17540
|
||||
smarm 1-thread | 1000 | 16944 | 16740 | 18603
|
||||
tokio current_thread | 1000 | 937 | 921 | 1056
|
||||
tokio multi-thread | 1000 | 4342 | 4205 | 4549
|
||||
smarm tokio-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
STORM_BACKGROUND=8, STORM_SPAWN=10000, MPSC=32×10000, TIMER_ACTORS=10000 (1–10 ms), SCALING_N=400000/64
|
||||
|
||||
================================================================================
|
||||
spawn_storm_busy: 8 bg yielders + 10000 zero-work spawns
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 130032 | 128075 | 153842
|
||||
smarm 1-thread | 10000 | 126396 | 125101 | 131406
|
||||
tokio current_thread | 10000 | 2685 | 2629 | 2841
|
||||
tokio multi-thread | 10000 | 6014 | 4126 | 11484
|
||||
|
||||
================================================================================
|
||||
mpsc_contention: 32 producers × 10000 msgs → 1 consumer
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 320000 | 9122 | 8987 | 9334
|
||||
smarm 1-thread | 320000 | 9073 | 8956 | 10151
|
||||
tokio current_thread | 320000 | 17259 | 17163 | 17673
|
||||
tokio multi-thread | 320000 | 22771 | 17709 | 24514
|
||||
|
||||
================================================================================
|
||||
many_timers: 10000 actors sleeping 1–10 ms
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 137844 | 134570 | 157034
|
||||
smarm 1-thread | 10000 | 141200 | 137494 | 156214
|
||||
tokio current_thread | 10000 | 14809 | 14024 | 16518
|
||||
tokio multi-thread | 10000 | 15089 | 14704 | 15331
|
||||
|
||||
================================================================================
|
||||
multi_thread_scaling: primes in [2, 400000) across 64 workers
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 30880 | 29931 | 32667
|
||||
tokio multi 1-thread | 33860 | 29862 | 29116 | 31310
|
||||
smarm smarm-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
RECURSE_DEPTH=500, HOT_YIELDS=500000×2, UNCONT_MSGS=1000000, PANIC_TASKS=10000
|
||||
|
||||
================================================================================
|
||||
deep_recursion: depth 500
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1 | 90 | 80 | 196
|
||||
smarm 1-thread | 1 | 87 | 79 | 126
|
||||
tokio current_thread | 1 | 25 | 25 | 53
|
||||
tokio multi-thread | 1 | 52 | 47 | 88
|
||||
|
||||
================================================================================
|
||||
yield_in_hot_loop: 2 actors × 500000 yields (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 191187 | 187194 | 198269
|
||||
tokio current_thread | 1000000 | 152531 | 151113 | 154462
|
||||
|
||||
================================================================================
|
||||
uncontended_channel: 1→1, 1000000 msgs (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 27413 | 27312 | 29463
|
||||
tokio current_thread | 1000000 | 53620 | 52594 | 55332
|
||||
|
||||
================================================================================
|
||||
catch_unwind_panics: 10000 tasks, 50% panic
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 144199 | 141893 | 157984
|
||||
smarm 1-thread | 10000 | 144857 | 142722 | 152275
|
||||
tokio current_thread | 10000 | 268006 | 264666 | 274542
|
||||
tokio multi-thread | 10000 | 271827 | 268740 | 290301
|
||||
126
benches/baseline-output/sweep/ai32_tc300k.txt
Normal file
126
benches/baseline-output/sweep/ai32_tc300k.txt
Normal file
@@ -0,0 +1,126 @@
|
||||
smarm general benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
CHAIN_DEPTH=1000, YIELD_TASKS=200×1000, PRIME_N=400000/64 workers, PP_ROUNDS=1000
|
||||
|
||||
================================================================================
|
||||
chained_spawn: depth 1000
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 8950 | 8591 | 10655
|
||||
smarm 1-thread | 1000 | 9688 | 8657 | 11720
|
||||
tokio current_thread | 1000 | 123 | 123 | 256
|
||||
tokio multi-thread | 1000 | 192 | 177 | 314
|
||||
|
||||
================================================================================
|
||||
yield_many: 200 tasks × 1000 yields
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 200000 | 42965 | 41667 | 44850
|
||||
smarm 1-thread | 200000 | 42881 | 41634 | 48864
|
||||
tokio current_thread | 200000 | 15112 | 14986 | 15484
|
||||
tokio multi-thread | 200000 | 16006 | 15915 | 16647
|
||||
|
||||
================================================================================
|
||||
fan_out_compute: primes in [2, 400000) across 64
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 29931 | 29750 | 31707
|
||||
smarm 1-thread | 33860 | 29977 | 29670 | 30996
|
||||
tokio current_thread | 33860 | 28615 | 28441 | 30188
|
||||
tokio multi-thread | 33860 | 34371 | 34330 | 35176
|
||||
|
||||
================================================================================
|
||||
ping_pong_oneshot: 1000 rounds
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 16753 | 16498 | 18516
|
||||
smarm 1-thread | 1000 | 16728 | 16599 | 16874
|
||||
tokio current_thread | 1000 | 940 | 933 | 1037
|
||||
tokio multi-thread | 1000 | 4317 | 4236 | 4427
|
||||
smarm tokio-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
STORM_BACKGROUND=8, STORM_SPAWN=10000, MPSC=32×10000, TIMER_ACTORS=10000 (1–10 ms), SCALING_N=400000/64
|
||||
|
||||
================================================================================
|
||||
spawn_storm_busy: 8 bg yielders + 10000 zero-work spawns
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 132575 | 128629 | 136999
|
||||
smarm 1-thread | 10000 | 130313 | 127372 | 157234
|
||||
tokio current_thread | 10000 | 2689 | 2611 | 2833
|
||||
tokio multi-thread | 10000 | 11337 | 4288 | 12635
|
||||
|
||||
================================================================================
|
||||
mpsc_contention: 32 producers × 10000 msgs → 1 consumer
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 320000 | 9122 | 9000 | 11033
|
||||
smarm 1-thread | 320000 | 9143 | 9015 | 9333
|
||||
tokio current_thread | 320000 | 17705 | 17250 | 18111
|
||||
tokio multi-thread | 320000 | 18044 | 17621 | 19484
|
||||
|
||||
================================================================================
|
||||
many_timers: 10000 actors sleeping 1–10 ms
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 141925 | 135531 | 188381
|
||||
smarm 1-thread | 10000 | 139655 | 134291 | 146458
|
||||
tokio current_thread | 10000 | 13837 | 13621 | 14877
|
||||
tokio multi-thread | 10000 | 14992 | 14542 | 15237
|
||||
|
||||
================================================================================
|
||||
multi_thread_scaling: primes in [2, 400000) across 64 workers
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 29687 | 29554 | 31408
|
||||
tokio multi 1-thread | 33860 | 28963 | 28742 | 30236
|
||||
smarm smarm-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
RECURSE_DEPTH=500, HOT_YIELDS=500000×2, UNCONT_MSGS=1000000, PANIC_TASKS=10000
|
||||
|
||||
================================================================================
|
||||
deep_recursion: depth 500
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1 | 83 | 80 | 128
|
||||
smarm 1-thread | 1 | 86 | 77 | 149
|
||||
tokio current_thread | 1 | 25 | 25 | 50
|
||||
tokio multi-thread | 1 | 53 | 47 | 84
|
||||
|
||||
================================================================================
|
||||
yield_in_hot_loop: 2 actors × 500000 yields (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 197474 | 194313 | 201690
|
||||
tokio current_thread | 1000000 | 149289 | 148575 | 154319
|
||||
|
||||
================================================================================
|
||||
uncontended_channel: 1→1, 1000000 msgs (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 26884 | 26675 | 29436
|
||||
tokio current_thread | 1000000 | 52594 | 51941 | 54495
|
||||
|
||||
================================================================================
|
||||
catch_unwind_panics: 10000 tasks, 50% panic
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 148321 | 146050 | 152943
|
||||
smarm 1-thread | 10000 | 147961 | 144521 | 152158
|
||||
tokio current_thread | 10000 | 264487 | 260848 | 274838
|
||||
tokio multi-thread | 10000 | 272103 | 265687 | 285209
|
||||
126
benches/baseline-output/sweep/ai512_tc300k.txt
Normal file
126
benches/baseline-output/sweep/ai512_tc300k.txt
Normal file
@@ -0,0 +1,126 @@
|
||||
smarm general benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
CHAIN_DEPTH=1000, YIELD_TASKS=200×1000, PRIME_N=400000/64 workers, PP_ROUNDS=1000
|
||||
|
||||
================================================================================
|
||||
chained_spawn: depth 1000
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 8574 | 8421 | 8729
|
||||
smarm 1-thread | 1000 | 8675 | 8401 | 12686
|
||||
tokio current_thread | 1000 | 125 | 125 | 148
|
||||
tokio multi-thread | 1000 | 188 | 184 | 291
|
||||
|
||||
================================================================================
|
||||
yield_many: 200 tasks × 1000 yields
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 200000 | 42389 | 41316 | 46466
|
||||
smarm 1-thread | 200000 | 41776 | 41342 | 48940
|
||||
tokio current_thread | 200000 | 15168 | 15094 | 15658
|
||||
tokio multi-thread | 200000 | 15953 | 15862 | 17408
|
||||
|
||||
================================================================================
|
||||
fan_out_compute: primes in [2, 400000) across 64
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 29680 | 29572 | 30661
|
||||
smarm 1-thread | 33860 | 29816 | 29597 | 30401
|
||||
tokio current_thread | 33860 | 28657 | 28581 | 29488
|
||||
tokio multi-thread | 33860 | 34837 | 34529 | 37270
|
||||
|
||||
================================================================================
|
||||
ping_pong_oneshot: 1000 rounds
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 16735 | 16601 | 17444
|
||||
smarm 1-thread | 1000 | 16702 | 16500 | 17184
|
||||
tokio current_thread | 1000 | 898 | 873 | 994
|
||||
tokio multi-thread | 1000 | 4343 | 4241 | 4448
|
||||
smarm tokio-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
STORM_BACKGROUND=8, STORM_SPAWN=10000, MPSC=32×10000, TIMER_ACTORS=10000 (1–10 ms), SCALING_N=400000/64
|
||||
|
||||
================================================================================
|
||||
spawn_storm_busy: 8 bg yielders + 10000 zero-work spawns
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 128408 | 126199 | 133268
|
||||
smarm 1-thread | 10000 | 131599 | 129387 | 135080
|
||||
tokio current_thread | 10000 | 2718 | 2661 | 2981
|
||||
tokio multi-thread | 10000 | 7264 | 4608 | 11583
|
||||
|
||||
================================================================================
|
||||
mpsc_contention: 32 producers × 10000 msgs → 1 consumer
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 320000 | 9289 | 9039 | 9751
|
||||
smarm 1-thread | 320000 | 9510 | 9157 | 9677
|
||||
tokio current_thread | 320000 | 17550 | 17290 | 18578
|
||||
tokio multi-thread | 320000 | 18336 | 17527 | 18989
|
||||
|
||||
================================================================================
|
||||
many_timers: 10000 actors sleeping 1–10 ms
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 139111 | 136105 | 146606
|
||||
smarm 1-thread | 10000 | 137302 | 133316 | 141350
|
||||
tokio current_thread | 10000 | 13720 | 13455 | 14607
|
||||
tokio multi-thread | 10000 | 14964 | 14546 | 15400
|
||||
|
||||
================================================================================
|
||||
multi_thread_scaling: primes in [2, 400000) across 64 workers
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 30048 | 29705 | 31530
|
||||
tokio multi 1-thread | 33860 | 28894 | 28682 | 30094
|
||||
smarm smarm-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
RECURSE_DEPTH=500, HOT_YIELDS=500000×2, UNCONT_MSGS=1000000, PANIC_TASKS=10000
|
||||
|
||||
================================================================================
|
||||
deep_recursion: depth 500
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1 | 93 | 81 | 161
|
||||
smarm 1-thread | 1 | 103 | 80 | 178
|
||||
tokio current_thread | 1 | 25 | 25 | 28
|
||||
tokio multi-thread | 1 | 53 | 47 | 74
|
||||
|
||||
================================================================================
|
||||
yield_in_hot_loop: 2 actors × 500000 yields (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 188726 | 187640 | 192658
|
||||
tokio current_thread | 1000000 | 149332 | 148133 | 155745
|
||||
|
||||
================================================================================
|
||||
uncontended_channel: 1→1, 1000000 msgs (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 27630 | 27086 | 29749
|
||||
tokio current_thread | 1000000 | 54225 | 53355 | 56307
|
||||
|
||||
================================================================================
|
||||
catch_unwind_panics: 10000 tasks, 50% panic
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 144934 | 143038 | 163552
|
||||
smarm 1-thread | 10000 | 146614 | 143653 | 151325
|
||||
tokio current_thread | 10000 | 266330 | 263523 | 271639
|
||||
tokio multi-thread | 10000 | 274729 | 266323 | 285114
|
||||
126
benches/baseline-output/sweep/ai64_tc150k.txt
Normal file
126
benches/baseline-output/sweep/ai64_tc150k.txt
Normal file
@@ -0,0 +1,126 @@
|
||||
smarm general benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
CHAIN_DEPTH=1000, YIELD_TASKS=200×1000, PRIME_N=400000/64 workers, PP_ROUNDS=1000
|
||||
|
||||
================================================================================
|
||||
chained_spawn: depth 1000
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 8849 | 8486 | 9224
|
||||
smarm 1-thread | 1000 | 8841 | 8477 | 9108
|
||||
tokio current_thread | 1000 | 124 | 124 | 219
|
||||
tokio multi-thread | 1000 | 187 | 184 | 283
|
||||
|
||||
================================================================================
|
||||
yield_many: 200 tasks × 1000 yields
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 200000 | 41681 | 41278 | 43685
|
||||
smarm 1-thread | 200000 | 41721 | 41218 | 42261
|
||||
tokio current_thread | 200000 | 14969 | 14940 | 15051
|
||||
tokio multi-thread | 200000 | 16004 | 15868 | 17569
|
||||
|
||||
================================================================================
|
||||
fan_out_compute: primes in [2, 400000) across 64
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 29679 | 29516 | 30105
|
||||
smarm 1-thread | 33860 | 29677 | 29594 | 31365
|
||||
tokio current_thread | 33860 | 28656 | 28572 | 29239
|
||||
tokio multi-thread | 33860 | 34783 | 34617 | 36531
|
||||
|
||||
================================================================================
|
||||
ping_pong_oneshot: 1000 rounds
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 17009 | 16822 | 17418
|
||||
smarm 1-thread | 1000 | 16866 | 16723 | 17315
|
||||
tokio current_thread | 1000 | 880 | 871 | 1035
|
||||
tokio multi-thread | 1000 | 4263 | 4178 | 4391
|
||||
smarm tokio-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
STORM_BACKGROUND=8, STORM_SPAWN=10000, MPSC=32×10000, TIMER_ACTORS=10000 (1–10 ms), SCALING_N=400000/64
|
||||
|
||||
================================================================================
|
||||
spawn_storm_busy: 8 bg yielders + 10000 zero-work spawns
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 126566 | 124995 | 130402
|
||||
smarm 1-thread | 10000 | 128278 | 126209 | 135156
|
||||
tokio current_thread | 10000 | 2680 | 2640 | 2787
|
||||
tokio multi-thread | 10000 | 7411 | 4393 | 12421
|
||||
|
||||
================================================================================
|
||||
mpsc_contention: 32 producers × 10000 msgs → 1 consumer
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 320000 | 9073 | 8937 | 9324
|
||||
smarm 1-thread | 320000 | 9120 | 9018 | 9263
|
||||
tokio current_thread | 320000 | 17245 | 17180 | 17574
|
||||
tokio multi-thread | 320000 | 18518 | 17685 | 19621
|
||||
|
||||
================================================================================
|
||||
many_timers: 10000 actors sleeping 1–10 ms
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 141855 | 135415 | 145810
|
||||
smarm 1-thread | 10000 | 138265 | 135535 | 142346
|
||||
tokio current_thread | 10000 | 14441 | 13453 | 14650
|
||||
tokio multi-thread | 10000 | 14956 | 14529 | 15451
|
||||
|
||||
================================================================================
|
||||
multi_thread_scaling: primes in [2, 400000) across 64 workers
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 30033 | 29659 | 31803
|
||||
tokio multi 1-thread | 33860 | 29078 | 28963 | 30231
|
||||
smarm smarm-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
RECURSE_DEPTH=500, HOT_YIELDS=500000×2, UNCONT_MSGS=1000000, PANIC_TASKS=10000
|
||||
|
||||
================================================================================
|
||||
deep_recursion: depth 500
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1 | 83 | 79 | 132
|
||||
smarm 1-thread | 1 | 85 | 78 | 146
|
||||
tokio current_thread | 1 | 25 | 25 | 73
|
||||
tokio multi-thread | 1 | 51 | 47 | 64
|
||||
|
||||
================================================================================
|
||||
yield_in_hot_loop: 2 actors × 500000 yields (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 191352 | 188830 | 196235
|
||||
tokio current_thread | 1000000 | 152382 | 150674 | 187815
|
||||
|
||||
================================================================================
|
||||
uncontended_channel: 1→1, 1000000 msgs (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 27552 | 27099 | 30612
|
||||
tokio current_thread | 1000000 | 53160 | 52436 | 55255
|
||||
|
||||
================================================================================
|
||||
catch_unwind_panics: 10000 tasks, 50% panic
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 145243 | 143291 | 173727
|
||||
smarm 1-thread | 10000 | 145242 | 142819 | 148457
|
||||
tokio current_thread | 10000 | 266471 | 262904 | 269145
|
||||
tokio multi-thread | 10000 | 274195 | 269312 | 286111
|
||||
126
benches/baseline-output/sweep/ai64_tc300k.txt
Normal file
126
benches/baseline-output/sweep/ai64_tc300k.txt
Normal file
@@ -0,0 +1,126 @@
|
||||
smarm general benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
CHAIN_DEPTH=1000, YIELD_TASKS=200×1000, PRIME_N=400000/64 workers, PP_ROUNDS=1000
|
||||
|
||||
================================================================================
|
||||
chained_spawn: depth 1000
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 8735 | 8508 | 9314
|
||||
smarm 1-thread | 1000 | 8808 | 8506 | 10346
|
||||
tokio current_thread | 1000 | 123 | 123 | 172
|
||||
tokio multi-thread | 1000 | 190 | 184 | 273
|
||||
|
||||
================================================================================
|
||||
yield_many: 200 tasks × 1000 yields
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 200000 | 41619 | 41255 | 43489
|
||||
smarm 1-thread | 200000 | 41544 | 41196 | 43259
|
||||
tokio current_thread | 200000 | 15382 | 15233 | 16007
|
||||
tokio multi-thread | 200000 | 16095 | 15999 | 16296
|
||||
|
||||
================================================================================
|
||||
fan_out_compute: primes in [2, 400000) across 64
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 30032 | 29838 | 31744
|
||||
smarm 1-thread | 33860 | 29782 | 29653 | 30601
|
||||
tokio current_thread | 33860 | 28754 | 28614 | 30700
|
||||
tokio multi-thread | 33860 | 34988 | 34570 | 36871
|
||||
|
||||
================================================================================
|
||||
ping_pong_oneshot: 1000 rounds
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000 | 17088 | 16868 | 18654
|
||||
smarm 1-thread | 1000 | 16951 | 16797 | 17783
|
||||
tokio current_thread | 1000 | 932 | 899 | 1019
|
||||
tokio multi-thread | 1000 | 4340 | 4273 | 5245
|
||||
smarm tokio-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
STORM_BACKGROUND=8, STORM_SPAWN=10000, MPSC=32×10000, TIMER_ACTORS=10000 (1–10 ms), SCALING_N=400000/64
|
||||
|
||||
================================================================================
|
||||
spawn_storm_busy: 8 bg yielders + 10000 zero-work spawns
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 129009 | 127353 | 132990
|
||||
smarm 1-thread | 10000 | 128009 | 126554 | 140472
|
||||
tokio current_thread | 10000 | 2666 | 2624 | 2794
|
||||
tokio multi-thread | 10000 | 5974 | 4368 | 11517
|
||||
|
||||
================================================================================
|
||||
mpsc_contention: 32 producers × 10000 msgs → 1 consumer
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 320000 | 9044 | 8970 | 10788
|
||||
smarm 1-thread | 320000 | 9087 | 8995 | 12500
|
||||
tokio current_thread | 320000 | 17185 | 17072 | 18440
|
||||
tokio multi-thread | 320000 | 17720 | 17394 | 19182
|
||||
|
||||
================================================================================
|
||||
many_timers: 10000 actors sleeping 1–10 ms
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 145819 | 140671 | 150512
|
||||
smarm 1-thread | 10000 | 139046 | 135846 | 146127
|
||||
tokio current_thread | 10000 | 13866 | 13522 | 14670
|
||||
tokio multi-thread | 10000 | 14900 | 14471 | 16378
|
||||
|
||||
================================================================================
|
||||
multi_thread_scaling: primes in [2, 400000) across 64 workers
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 33860 | 30695 | 29720 | 33196
|
||||
tokio multi 1-thread | 33860 | 29261 | 28895 | 31013
|
||||
smarm smarm-favored benchmarks
|
||||
available parallelism: 1 threads
|
||||
ITERS=15 (+1 warmup, discarded)
|
||||
RECURSE_DEPTH=500, HOT_YIELDS=500000×2, UNCONT_MSGS=1000000, PANIC_TASKS=10000
|
||||
|
||||
================================================================================
|
||||
deep_recursion: depth 500
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1 | 82 | 79 | 113
|
||||
smarm 1-thread | 1 | 85 | 78 | 143
|
||||
tokio current_thread | 1 | 25 | 25 | 56
|
||||
tokio multi-thread | 1 | 50 | 47 | 63
|
||||
|
||||
================================================================================
|
||||
yield_in_hot_loop: 2 actors × 500000 yields (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 188698 | 187922 | 192263
|
||||
tokio current_thread | 1000000 | 150231 | 148746 | 151723
|
||||
|
||||
================================================================================
|
||||
uncontended_channel: 1→1, 1000000 msgs (single thread)
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 1000000 | 28461 | 27638 | 30283
|
||||
tokio current_thread | 1000000 | 52224 | 51880 | 54732
|
||||
|
||||
================================================================================
|
||||
catch_unwind_panics: 10000 tasks, 50% panic
|
||||
================================================================================
|
||||
runtime | result | median µs | min µs | max µs
|
||||
--------------------------------------------------------------------------------
|
||||
smarm 1-thread | 10000 | 144604 | 143246 | 145585
|
||||
smarm 1-thread | 10000 | 148208 | 142691 | 151076
|
||||
tokio current_thread | 10000 | 265255 | 260637 | 271065
|
||||
tokio multi-thread | 10000 | 273131 | 271313 | 300420
|
||||
Reference in New Issue
Block a user