|
|
|
|
|
by nextaccountic
12 days ago
|
|
Unfortunately, rather than exposing a common interface for many executors, the Rust async ecosystem went with a Tokio monoculture Because of that, many libraries will depend on Tokio rather than working out of box with those different executors. Things like libraries that define protocols, etc. This creates a strong disincentive for anyone to mess with other executors Worse yet: with no common interface, some libraries will have feature flags to support a bunch of executors, which increases the maintenance load. Some still keep around support for dead executors like async_std while skipping support for newer executors like glommio Anyway nowadays there are some abstraction crates in crates.io but it is too little, too late. Tokio already has an insurmountable lock in. The only thing that can start to reverse that is the stdlib itself to offer cross-executor APIs |
|