Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

does anyone here know how to use this with Java? Does Java by default use io_uring?


io_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

[2] https://openjdk.org/projects/loom/

[3] https://cr.openjdk.org/~rpressler/loom/loom/sol1_part1.html


I 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.


No languages use io uring by default, it's pretty much work in progress at best.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: