JUring: Experimental IO_uring For Java With Big Performance Gains

Written by Michael Larabel in Linux Storage on 14 January 2025 at 06:23 AM EST. 11 Comments
LINUX STORAGE
For those looking toward better I/O performance with Java, there is JUring for making use of IO_uring and the reported performance benefits are very enticing.

IO_uring lead developer and Linux block subsystem maintainer Jens Axboe shared on X that there is now an independent project JUring for bringing IO_uring to Java. David Vlijmincx has been working on JUring for file I/O with Java using the Linux kernel's IO_uring interface. The I/O performance gains with JUring are pretty wild:
"JUring is a high-performance Java library that provides bindings to Linux's io_uring asynchronous I/O interface using Java's Foreign Function & Memory API. Doing Random reads JUring achieves 33% better performance than Java NIO FileChannel operations for local files and 78% better performance for remote files."

And some of the raw JUring performance data:

JUring benchmarks


JUring looks to be off to a nice start while support for sockets, better memory use, pooling of rings, and other features are still planned. Those wanting to learn more or try it out can find JUring on GitHub.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week