Did a fun little investigation today - the smol folks reported exponential scaling in futures-concurrency.

Tracked it down, and it turned out that we could fix it by adding an extra conditional check. Outcome: at least according to this benchmark using `FutureGroup` should now perform 2-3x better than a local executor.

github.com/smol-rs/futures-lit

I should really write that blog post explaining why most performance-sensitive async workloads probably don’t benefit from having an executor.

That would probably be a 5/5 spice level post, as it goes against pretty much all conventional wisdom around async Rust. But I don’t think I’m wrong either.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.