3 ms·
does anyone here know how to use this with Java? Does Java by default use io_uring?
by victor106 4y ago
does anyone here know how to use this with Java? Does Java by default use io_uring?
- mfiguiere 4y agoio_uring will indeed be a perfect fit for Java: no need to pay a supplemental JNI access cost for each IO as all you need is a memory barrier to read or write the shared queues which can be properly implemented in pure Java. We're not there yet but here is where you can look: - For network I/O, Netty has 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 https://github.com/netty/netty-incubator-transport-io_uring [2] https://openjdk.org/projects/loom/ https://openjdk.org/projects/loom/ [3] https://cr.openjdk.org/~rpressler/loom/loom/sol1_part1.html https://cr.openjdk.org/~rpressler/loom/loom/sol1_part1.html
- rotifer 4y agoI don't believe that Java currently uses it by default, although I've seen discussion about possibly using it in the future. However, you might find these links useful: - I built an ultra high performance HTTP server in Java, powered by io_uring - https://old.reddit.com/r/java/comments/12f2h79/i_built_an_ultra_high_performance_http_server_in/ - server is here - https://github.com/bbeaupain/hella-http - based on these bindings - https://github.com/bbeaupain/nio_uring I wouldn't be surprised if there are others.
- Thaxll 4y agoNo languages use io uring by default, it's pretty much work in progress at best.