-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate IO_URING
support
#16232
Comments
Rust ecosystem has both low-level and high-level io_uring support. It may be easier to start with high-level APIs. |
Nice. I created an awesome-iouring repo to keep track of all existing About tokio-uring: unfortunately it doesn't support some of the nice new things I feel my approach could be simpler and easier to update: my implementation is only 400 lines of code, it's easier to port and it supports already all the nice features |
I'm opening this issue to investigate the opportunity of implementing
IO_URING
in Deno. If you haven't heard about itIO_URING
is a new revolutionary API for doing asynchronous operations in Linux with a much higher throughput, much lower tail latencies and CPU usage.While investigating how to implement
IO_URING
for node, I came up with an approach which I think can make this very simple: Instead of implementing directlyliburing
via NAPI, I used a thin layer to expose syscalls to a WASM module, to then do the heavy lifting in WASM. More details hereThis not only greatly simplify the approach, but maximize reusability across WASM compatible runtimes. Also I think this kind of taks is a perfect fit for Rust, with its safety guarantees and speed.
Unfortunately I don't know much about Deno internals, but here maybe the Node and Deno community could come together to write a common WASM module?
The text was updated successfully, but these errors were encountered: