libuv Adds IO_uring Support For ~8x Throughput Boost
Libuv as the cross-platform asynchronous I/O library that is used by the likes of Node.js, Julia, and other software packages now has support for making use of IO_uring on Linux.
As of today IO_uring support has been merged into libuv for async file operations around read / write / fsync / fdatasync / stat / fstat / lstat. Libuv will make use of IO_uring when running on a new enough Linux kernel otherwise will fallback to using its existing thread pool solution.
The commit mentions:
Yes, you read that right as an 8x increase in throughput with the wonderful IO_uring.
This addresses a five year old request for IO_uring support with libuv.
As of today IO_uring support has been merged into libuv for async file operations around read / write / fsync / fdatasync / stat / fstat / lstat. Libuv will make use of IO_uring when running on a new enough Linux kernel otherwise will fallback to using its existing thread pool solution.
The commit mentions:
Performance looks great; an 8x increase in throughput has been observed.
Yes, you read that right as an 8x increase in throughput with the wonderful IO_uring.
This addresses a five year old request for IO_uring support with libuv.
3 Comments