Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gardnervickers/norn
https://github.com/gardnervickers/norn
Last synced: 22 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/gardnervickers/norn
- Owner: gardnervickers
- Created: 2023-11-02T02:24:50.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-12-16T14:22:08.000Z (11 months ago)
- Last Synced: 2023-12-17T01:34:18.297Z (11 months ago)
- Language: Rust
- Size: 235 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Norn
Norn is an experimental set of libraries for building single-threaded asynchronous
runtimes.## What Itch Does It Scratch?
Norn is designed for applications which meet two criteria:
1. Fundementally I/O bound
2. Trivially shardable or non-parallizable.## Why use Norn over X?
You probably should not. Norn is not a general purpose runtime. It's meant
for very specific workloads (sharded I/O bound storage systems).## Status of the Project
Norn is still in the early stages of development. The API is still in flux
and in most cases non-existant.- [`norn-task`] is the core task system. It is mostly complete. I don't envision
any substantial changes to the API.
- [`norn-executor`] is the single-threaded executor. It is not complete. The
API is likely to change.
- [`norn-uring`] is a uring-based backend for the executor. It is not complete
and hardly useful. The API is very likely to change.## Design Inspo
Much of the design of the task system and async submission handling was inspired
by Tokio and tokio-uring. The general approach to handling tasks is very similar
in that we use a single allocation per task, and track tasks in a linked list
for easy shutdown.