# axboe/liburing

Library providing helpers for the Linux kernel io_uring support

Repository: https://github.com/axboe/liburing
Canonical: https://ross.abutalabs.com/products/liburing
Language: C
License: MIT
License Family: permissive
Last push: 2026-08-19T18:44:53+00:00

## Health v2 (maintenance only)
Score: 87/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 66, longevity 100
- inputs: {"age_days": 2585, "days_push": 14, "days_rel": 65, "gap_med": 100, "n_releases_24m": 8}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3752, forks 533 (observed 2026-08-28T04:08:17.733166+00:00)

## What it is
A C library providing helpers to set up and tear down Linux io_uring instances, plus a simplified convenience API for applications that don't want to deal with the full raw kernel syscall interface. It also ships extensive regression and unit tests covering both the library and the kernel's io_uring support.

## Use cases
- perform asynchronous file I/O on Linux
- use io_uring without hand-writing raw syscalls
- build high-performance network servers with async socket I/O
- batch I/O operations efficiently with submission and completion queues
- check which io_uring features a given kernel version supports
- replace epoll or older aio with a faster async I/O interface

## When to choose
- You are writing C or C++ software on Linux that needs high-performance asynchronous disk or network I/O
- You want a maintained, convenient wrapper over the io_uring syscalls instead of maintaining your own syscall glue
- You need a library usable across a range of kernel versions, with newer features degrading gracefully on older kernels
- You need a linkable binary dependency and prefer the FFI variants (liburing-ffi) over static inline headers

## When to avoid
- Your software must be portable to non-Linux platforms, since io_uring is a Linux-only kernel interface
- You target very old kernels where io_uring is absent or severely feature-limited
- You only need simple blocking or epoll-style I/O and don't want the added complexity of ring-based async I/O

## Facets
- artifact type: library
- maturity: active
- function: concurrency, file-system, networking
- domain: operating-systems, performance
- platform: c
- tags: io-uring, async-io, high-performance-io, kernel-interface, system-calls, submission-queue, completion-queue, ffi, linux

## Member repositories
- axboe/liburing (main) score 87

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:17.733166+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:28:58.472559+00:00, confidence not recorded.
  - readme: https://github.com/axboe/liburing (fetched 2026-08-28T04:08:17.733166+00:00, sha 44f43e95a5b8)
- Data as of 2026-08-30T08:39:29.467469+00:00.
