nio_uring
netty-incubator-transport-io_uring | nio_uring | |
---|---|---|
4 | 3 | |
177 | 140 | |
0.0% | - | |
7.9 | 1.8 | |
13 days ago | over 1 year ago | |
Java | Java | |
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.
nio_uring
-
Use io_uring for network I/O
- based on these bindings - https://github.com/bbeaupain/nio_uring
-
Have there ever been any processors that run Java instructions?
Java is a general purpose language, and it excels at general purpose things. General purpose computers have obscene amounts of RAM compared to the needs of the JVM. There are I/O libraries out there that can serve millions of requests per second using less than 100mb of memory in Java. Here's one I wrote.
- nio_uring: Java I/O library using io_uring under the hood. Just released, feedback welcome!
What are some alternatives?
cats-effect - The pure asynchronous runtime for Scala
hella-http - Hella fast HTTP server library for Java
cats - Lightweight, modular, and extensible library for functional programming.
uring - Golang library for io_uring (without CGO)
ZIO - ZIO — A type-safe, composable library for async and concurrent programming in Scala
glommio - Glommio is a thread-per-core crate that makes writing highly parallel asynchronous applications in a thread-per-core architecture easier for rustaceans.
eRPC - Efficient RPCs for datacenter networks
libuv - Cross-platform asynchronous I/O
liburing
rr - Record and Replay Framework