Skip to content
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

Support io_uring in stdlib #519

Open
FedericoCeratto opened this issue Apr 13, 2023 · 4 comments
Open

Support io_uring in stdlib #519

FedericoCeratto opened this issue Apr 13, 2023 · 4 comments

Comments

@FedericoCeratto
Copy link
Member

FedericoCeratto commented Apr 13, 2023

https://en.wikipedia.org/wiki/Io_uring is gaining traction as it provides fast async I/O with batching of both requests and responses on Linux.
It can be used for both disk I/O and networking, see https://developers.redhat.com/articles/2023/04/12/why-you-should-use-iouring-network-io

(AFAIK people have been asking to have good support in Go and Rust and this could be an opportunity for Nim to get ahead a bit)

@arnetheduck
Copy link

How about developing it as a library first that it can gain traction without relying on the Nim development cycle?

@FedericoCeratto
Copy link
Member Author

@arnetheduck The point of the RFC is to have a roadmap for inclusion in the stdlib. io_uring is pretty foundational and people should know where this is going before spending efforts adopting it in their projects.

@arnetheduck
Copy link

arnetheduck commented Apr 13, 2023

The point of the RFC is to have a roadmap for inclusion in the stdlib.

the easiest road for a library to be included is to establish its utility in real life, rather than an RFC - you'll be able to make a much stronger case for "this is foundational / important" for nim community to accept the maintenance overhead it will cause if indeed it sees wide use already.

@ringabout
Copy link
Member

ringabout commented Apr 13, 2023

fyi, there is an io_uring implementation for Nim which looks promising => https://github.com/blackmius/nimuring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants