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