io-uring

Open-source projects categorized as io-uring

Top 23 io-uring Open-Source Projects

  • libxev

    libxev is a cross-platform, high-performance event loop that provides abstractions for non-blocking IO, timers, events, and more and works on Linux (io_uring or epoll), macOS (kqueue), and Wasm + WASI. Available as both a Zig and C API.

    Project mention: Leveraging Zig's Allocators | news.ycombinator.com | 2024-06-15

    It scales to complex examples as well. Retained memory would be handled with its own allocator: for a large data structure like an LRU cache, one would initialize it with a pointer to the allocator, and use that internally to manage the memory.

    Blocking (or rather, non-blocking, which is clearly what you meant) IO is a different story. Zig had an async system, but it had problems and got removed a couple point releases ago. There's libxev[0] for evented programs, from Mitchell Hashimoto. It's not mature yet but it offers a good solution to single-threaded concurrency and non-blocking IO.

    I don't think Zig is the best choice for multithreaded programs, however, unless they're carefully engineered to share little to no memory (using message passing, for instance). You'd have to take care of locking and atomic ops manually, and unlike memory bugs, Zig doesn't have a lot of built-in support for catching problems with that.

    A language with manual memory allocation isn't going to be the language of choice for writing web servers, for pretty obvious reasons. But for an application like squeezing the best performance out of a resource-constrained environment, the tradeoffs start to make sense.

    [0]: https://github.com/mitchellh/libxev

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • io-uring

    The `io_uring` library for Rust

    Project mention: Waiting for many things at once with io_uring | news.ycombinator.com | 2024-11-18
  • ucall

    Web Serving and Remote Procedure Calls at 50x lower latency and 70x higher bandwidth than FastAPI, implementing JSON-RPC & REST over io_uring ☎️

  • cachegrand

    cachegrand - a modern data ingestion, processing and serving platform built for today's hardware

  • rio

    pure rust io_uring library, built on libc, thread & async friendly, misuse resistant (by spacejam)

  • Polyphony

    Fine-grained concurrency for Ruby

  • aquatic

    High-performance open BitTorrent tracker (UDP, HTTP, WebTorrent)

    Project mention: Bitmagnet Allows People to Run Their Own Decentralized Torrent Indexer Locally | news.ycombinator.com | 2024-02-18

    How does Bitmagnet compare to Aquatic? https://github.com/greatest-ape/aquatic

  • helio

    A modern framework for backend development based on io_uring Linux interface

  • io_uring-echo-server

    io_uring echo server

  • loona

    HTTP 1+2 in Rust, with io_uring & ktls

  • awesome-iouring

    Delightful io_uring packages and resources

  • kloop

    OFFICIAL MIRROR. An asyncio event loop using Linux io_uring and kTLS.

  • fusio

    Fusio provides file operations on multiple storages across various async runtimes. (by tonbo-io)

    Project mention: Show HN: Fusio – using io_uring on both local disk and S3 | news.ycombinator.com | 2024-10-24
  • zig-aio

    io_uring like asynchronous API and coroutine powered IO tasks for zig

    Project mention: Show HN: Io_uring like asynchronous API and coroutine powered IO tasks for Zig | news.ycombinator.com | 2024-07-07
  • go-uring

    The `io_uring` library and runtime for GO

  • async_io_uring

    An event loop in Zig using io_uring and coroutines

  • jasyncfio

    Java asynchronous file I/O based on io_uring Linux interface

  • kbio

    Another Async IO Framework based on io_uring

  • laminarmq

    A scalable, distributed message queue powered by a segmented, partitioned, replicated and immutable log.

  • udisk

    The fastest ACID-transactional persisted Key-Value store designed as modified LSM-Tree for NVMe block-devices with GPU-acceleration and SPDK to bypass the Linux kernel

  • python-c-io_uring-example

    Using io_uring Linux Kernel interface from Python by JITing C code with MetaCall.

  • io

    Coroutine based asynchronous IO using poll and io_uring for C++20 (by Felspar)

  • ioucontext

    A coöperative multitasking framework based on `liburing` and `libucontext`

    Project mention: Show HN: Ioucontext = Io_uring and Ucontext | news.ycombinator.com | 2024-02-19
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

io-uring discussion

Log in or Post with

io-uring related posts

Index

What are some of the best open-source io-uring projects? This list will help you:

Project Stars
1 libxev 2,160
2 io-uring 1,214
3 ucall 1,151
4 cachegrand 977
5 rio 931
6 Polyphony 661
7 aquatic 490
8 helio 453
9 io_uring-echo-server 368
10 loona 361
11 awesome-iouring 349
12 kloop 209
13 fusio 205
14 zig-aio 176
15 go-uring 123
16 async_io_uring 116
17 jasyncfio 71
18 kbio 61
19 laminarmq 61
20 udisk 57
21 python-c-io_uring-example 27
22 io 11
23 ioucontext 6

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com