/awesome-iouring

Delightful io_uring packages and resources

MIT LicenseMIT

Awesome io_uring

io_uring is considered one of the most revolutionary interfaces for the linux kernel, find out why.

In this repository we try to collect examples, tutorials and documentation about this amazing project, to raise awarness and knowledge.

Table of contents

  1. Introduction

  2. Tutorials

  3. Libraries

  4. Projects

  5. Articles

  6. Videos

  7. Other notable resources

Tutorials

Tutorials about io_uring

  • Lord of the io_uring: Amazing collection of tutorials with deep explanations, unfortunately not updated often.

Libraries

Libraries for using io_uring

C

  • liburing: Helper to interact with the kernel io_uring interface
  • xnvme: NVMe library with io_uring support
  • SPDK: Intel library focused on performant io, with io_uring support

C++

  • Seastar: Asynchronous event-driven framework
  • liburing4cpp: Binding for io_uring with coroutines support
  • ubdsrv: Userspace block device driver using io_uring

Rust

  • tokio-uring: An io_uring backend for tokio
  • io-uring: From the authors of tokio, without tokio dependency
  • rio: Pure rust io_uring library, unfortunately unmaintained
  • Ringbahn: io_uring library from Berlin. Unfortunately unmaintained.

Golang

  • gouring: Amazing io_uring library in pure golang
  • iouring-go: Async interface for io_uring

Javascript

  • Bun: Bun has support for io_uring
  • Nodejs: Issue tracking io_uring support
  • Deno: Issue tracking io_uring support

Python

  • Liburing: Python bindings using CFFI
  • Metacall: Example python bindings using metacall

Java

Ocaml

Projects

Projects using io_uring

Articles

Articles about io_uring

Videos

Other notable resources

Other resources about io_uring