netty-incubator-transport-io_uring | liburing | |
---|---|---|
4 | 28 | |
177 | 2,610 | |
0.0% | - | |
7.9 | 9.6 | |
13 days ago | 4 days ago | |
Java | C | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
netty-incubator-transport-io_uring
-
Use io_uring for network I/O
- For network I/O, Netty as an incubating transport that is promising [1].
- For disk I/O, JDK's Loom project [2] has mentioned its plan to rely on io_uring on Linux [3], but there's no ETA AFAIK.
[1] https://github.com/netty/netty-incubator-transport-io_uring
-
Zero-copy network transmission with io_uring
Yes, I think io_uring is slowly making its way onto Java ecosystem. Example: https://github.com/netty/netty-incubator-transport-io_uring
I guess it will go into the JVM too.
-
Java Virtual Threads Preview
Maybe maybe not. If you want to take advantage of things like io_uring you're going to be doing that with a JNI lib. Such as this Netty incubator support for it https://github.com/netty/netty-incubator-transport-io_uring
-
Advances In The ZIO 2.0 Scheduler
There is a Java library from Netty which has implemented io_uring and could be borrowed.
liburing
- Liburing 2.6 Released
-
Io Uring
I've tinkered around with io_uring on and off for the last couple years. But I think it's really becoming quite cool (not that it wasn't cool before... :)). This was a really interesting post on what's new https://github.com/axboe/liburing/wiki/io_uring-and-networki.... The combination of ring-mapped buffers and multi-shot operations has some really interesting applications for high-performance networking. Hoping over the next year or two we can start to see really bleeding edge networking perf without having to resort to using DPDK :)
-
Why you should use io_uring for network I/O
Thought I was doing something wrong at first, but after looking at examples and code, I just wasn't able to reach the epoll numbers. Looking on the Github page, there a few issues there with people who found the same thing, with their own examples. #1, #2
-
Use io_uring for network I/O
To address my own silly questions, yes, one should use the new fixed buffers described in this document: https://github.com/axboe/liburing/wiki/io_uring-and-networki...
-
The fastest rm command and one of the fastest cp commands
We're working on this! https://github.com/axboe/liburing/issues/830
- axboe / liburing
-
io_uring and networking in 2023
Link: https://github.com/axboe/liburing/wiki/io_uring-and-networking-in-2023
What are some alternatives?
cats-effect - The pure asynchronous runtime for Scala
tokio-uring - An io_uring backed runtime for Rust
cats - Lightweight, modular, and extensible library for functional programming.
libevent - Event notification library
ZIO - ZIO — A type-safe, composable library for async and concurrent programming in Scala
libuv - Cross-platform asynchronous I/O
eRPC - Efficient RPCs for datacenter networks
io_uring-echo-server - io_uring echo server
glommio - Glommio is a thread-per-core crate that makes writing highly parallel asynchronous applications in a thread-per-core architecture easier for rustaceans.
linux-aio - How to use the Linux AIO feature
nio_uring - High performance I/O library for Java using io_uring under the hood
go - The Go programming language