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