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