io-uring

Open-source projects categorized as io-uring

Top 21 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: libxev: A cross-platform, high-performance event loop | news.ycombinator.com | 2024-04-17

    io_uring support is obviously great & excellent, fulfills the "high performance" part well.

    i was not expecting "Wasm + WASI" support at all. that's very cool. implementation is wasi_poll.zig (https://github.com/mitchellh/libxev/blob/main/src/backend/wa...). not to be unkind, but this makes me wonder very much if WASI is already missing the mark, if polling is the solution offered.

    gotta say, this is some very understandable clean code. further enhancing my sense that i really ought be playing with zig.

  • io-uring

    The `io_uring` library for Rust

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • ucall

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

  • Project mention: Show HN: U)Search Images demo in 200 lines of Python | news.ycombinator.com | 2023-09-07
  • 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

  • Project mention: Should You Be Scared of Unix Signals? | news.ycombinator.com | 2023-10-16

    When using green threads/fibers/coroutines, an interesting technique to make signal handling safer is to run the signal handler asynchronously on a separate fiber/green thread. That way most of the problems of dealing with signals go away, and there's basically no limitation on what you can do inside the signal handler.

    I've successfully used this technique in Polyphony [1], a fiber-based Ruby gem for writing concurrent programs. When a signal occurs, Polyphony creates a special-purpose fiber that runs the signal handling code. The fiber is put at the head of the run queue, and is resumed once the currently executed fiber yields control.

    [1] https://github.com/digital-fabric/polyphony

  • 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

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • helio

    A modern framework for backend development based on io_uring Linux interface

  • io_uring-echo-server

    io_uring echo server

  • awesome-iouring

    Delightful io_uring packages and resources

  • kloop

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

  • fluke

    HTTP 1+2 in Rust, with io_uring & ktls

  • 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.

  • Project mention: Ask HN: Show me your half baked project | news.ycombinator.com | 2023-10-12

    laminarmq: https://github.com/arindas/laminarmq

    I am building a message queue from scratch in Rust. It is intended to be a resource efficient alternative to Apache Kafka. (It does not rely on any Kafka libraries.)

    It has similar concepts like topics and partitions. It is intended to be distributed in nature, with no reliance on any third party component.

    Currently it only provides a segmented log implementation which can be used on it's own if necessary. We support both persistent and in-memory storage.

    It is still very much in a nascent stage as there are no message queue level APIs or Web endpoints yet.

    I tried to keep it as decoupled from different Rust async runtimes as possible to make it easier to integrate to different ecosystems. It currently supports tokio and glommio.

    There is also an example to show how the segmented log might be used in a server:

    https://github.com/arindas/laminarmq/tree/examples/laminarmq...

    Next steps would be to design the message queue level APIs and gradually implement the distributed components.

    This is the first time I am implementing something at this scale so any feedback or advice would be great.

  • 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

  • Project mention: Ask HN: Why are there no open source NVMe-native key value stores in 2023? | news.ycombinator.com | 2023-10-16

    I don't remember exactly why I have any of them saved, but these are some experimental data stores that seems to be fitting what you're looking for somewhat:

    - https://github.com/DataManagementLab/ScaleStore - "A Fast and Cost-Efficient Storage Engine using DRAM, NVMe, and RDMA"

    - https://github.com/unum-cloud/udisk - "The fastest ACID-transactional persisted Key-Value store designed for NVMe block-devices with GPU-acceleration and SPDK to bypass the Linux kernel."

    - https://github.com/capsuleman/ssd-nvme-database - "Columnar database on SSD NVMe"

  • 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
  • SaaSHub

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

    SaaSHub logo
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 related posts

Index

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

Project Stars
1 libxev 1,553
2 io-uring 1,064
3 ucall 985
4 cachegrand 963
5 rio 894
6 Polyphony 651
7 aquatic 452
8 helio 392
9 io_uring-echo-server 358
10 awesome-iouring 297
11 kloop 203
12 fluke 195
13 go-uring 116
14 async_io_uring 103
15 jasyncfio 67
16 kbio 60
17 laminarmq 55
18 udisk 48
19 python-c-io_uring-example 25
20 io 8
21 ioucontext 2

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