nowfound

Work · alternatives · 2026

24 alternatives to Writing a C++20M:N Scheduler from Scratch (EBR, Work-Stealing)

tiny_coro is a lightweight, educational M:N asynchronous runtime written from scratch using C++20 coroutines. It's designed to strip away the complexity of industrial libraries (like Seastar or Folly) to show the core mechanics clearly. Key Technical Features: M:N Scheduling: Maps M coroutines to N kernel threads (Work-Stealing via Chase-Lev deque). Memory Safety: Implements EBR (Epoch-Based Reclamation) to manage memory safely in lock-free structures without GC. Visualizations: I used Manim (the engine behind 3Blue1Brown) to create animations showing exactly how tasks are stolen and…

tiny_coro is an educational M:N asynchronous runtime built from scratch in C++20 that demonstrates core scheduler mechanics through minimal code. It maps multiple coroutines to kernel threads using work-stealing queues… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes.

  1. 1

    Hello Hacker News. I’m Martin, a graduate student from Prague, and I’ve been working on Coros, a C++ library for task-based parallelism. After spending some time with OpenMP and oneTBB, I wanted to try building a library using modern features from the C++ standard library. I’ve used coroutines for task encapsulation and C++23 expected for exception handling, while trying to maintain good performance. Additionally, I’ve implemented monadic-like behavior to allow easy chaining of tasks, similar to the monadic operations in std::expected. You can check out the project here:…

    2024 · github.com · its alternatives →

  2. 2

    A cross-language, zero-copy coroutine observability framework based on the cTP shared-memory protocol, utilizing lock-free ring buffers for ultra-low overhead state tracing. - lixiasky-back/coroTracer

    Mar 2026 · github.com · its alternatives →

  3. 3TA

    1. Single universal binary, that can be natively executed on every hardware platform Mac OS X was made for (32/64 bit, PowerPC/x86/AppleSilicon). 2. Minimalistic gadget-style design. If launched as a tool, there is no menubar, no dock icon, no nothing, just the clock window. 3. Support for hidpi and dark mode for environments, that have them. 4. Window title bar for moving the window with a mouse, and a handle to resize it (latter for OS versions, that have it). 5. Can be easily ported to GNUStep and thus other OSes (sources under GPLv3). 6. Simple Makefile build system.

    2022 · tycho.sytes.net · its alternatives →

  4. 4

    A minimal C runtime for Linux i386 & x86_64. Contribute to lpsantil/rt0 development by creating an account on GitHub.

    2015 · github.com · its alternatives →

  5. 5

    I wanted to see how fast an isolated code sandbox could start if I never had to boot a fresh VM. So instead of launching a new microVM per execution, I boot Firecracker once with Python and numpy already loaded, then snapshot the full VM state. Every execution after that creates a new KVM VM backed by a `MAP_PRIVATE` mapping of the snapshot memory, so Linux gives me copy-on-write pages automatically. That means each sandbox starts from an already-running Python process inside a real VM, runs the code, and exits. These are real KVM VMs, not containers: separate guest kernel, separate guest…

    Mar 2026 · github.com · its alternatives →

  6. 6

    Show HN: TinyWasm - A tiny WebAssembly Runtime written in Rust Hi HN! I'm excited to share TinyWasm (https://github.com/explodingcamera/tinywasm), a WebAssembly Interpreter I developed for my final university project. The main goal of this project was to deepen my understanding of WebAssembly and interpreter design. TinyWasm successfully passes all the official WebAssembly 1.0 tests and also includes features from future proposals such as like bulk memory operations. Initially more of a research project, TinyWasm focuses on simplicity and portability. It has minimal…

    2024 · github.com · its alternatives →

  7. 7

    "interesting" VM in C. Let's see how this goes. Contribute to tekknolagi/carp development by creating an account on GitHub.

    2014 · github.com · its alternatives →

  8. 8

    A "living" Linux process with no memory. Contribute to izabera/zeromaps development by creating an account on GitHub.

    2020 · github.com · its alternatives →

  9. 9

    Concurrency library for C (coroutines). Contribute to tidwall/neco development by creating an account on GitHub.

    2024 · github.com · its alternatives →

  10. 10

    A multitasking monolithic Kernel based x86 targeting Operating System written in C# from scratch aiming for high-level implementation of drivers in managed environment. - amaneureka/AtomOS

    2017 · github.com · its alternatives →

  11. 11

    Single header stackful cross-platform coroutine library in pure C. - edubart/minicoro

    2021 · github.com · its alternatives →

  12. 12

    This project contains no code from Linux, BSD, Minix, or any other OS. Everything up until this point is written entirely from scratch, including a pure microkernel (that only implements multiprocessor priority scheduling, memory management, and interprocess communication), a work-in-progress implementation of the standard C library, and a variety of servers that provide drivers and other essential OS functionality. At the time of writing this post, the servers provide drivers for the keyboard, NVMe SSDs (that works on real hardware), a Unix-like virtual file system (with a single root…

    2024 · github.com · its alternatives →

  13. 13MP

    I have been working on this game somewhat sparsely for the past three years or so. However, it is still in a very early stage, and there is a lot of work to do. One of my friends encouraged me to post about it here, since he felt people might find interesting how I don’t use any libraries for it. The game can be played on a browser by virtue of WebAssembly. There are native ports using either MiniFB or SDL2, but you have to build those yourself. I decided to write the game in C because I feel like it is a simple language that a lot of people can understand well enough, and I didn’t think I…

    2023 · zamfofex.neocities.org · its alternatives →

  14. 14

    A minimal stack-based VM. Contribute to codr7/liblg development by creating an account on GitHub.

    2020 · github.com · its alternatives →

  15. 15

    Tasks are a primitive for asynchronous programming and an alternative to working with threads directly. Instead of creating a thread, performing work, then waiting on it using synchronization primitives, you only define a unit of work and let a scheduler decide when and where to execute it. The threads that the scheduler uses are created once and reused for many tasks throughout the program's lifetime. In most cases, creating and executing a task requires not even a single syscall and is a significantly faster operation than creating a thread, resulting in lower latency. Furthermore, tasks…

    2024 · github.com · its alternatives →

  16. 16OA

    A lightweight engine for durable execution / deterministic workflows I built with Rust, wasmtime and the WASM Component Model. Its main use is running reliable, long-running workflows that can automatically resume after failures. Looking for feedback on the approach and potential use cases!

    2025 · obeli.sk · its alternatives →

  17. 17

    :crab: 464b rust binary on windows. Contribute to mcountryman/min-sized-rust-windows development by creating an account on GitHub.

    2020 · github.com · its alternatives →

  18. 18

    Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM. - tinygo-org/tinygo

    2018 · github.com · its alternatives →

  19. 19NC

    Hello, Some time ago I did a data logger for fun, just to check if I could beat the performance of an old C++ project of mine (mini-async-log) and to avoid letting my multithreading-C skills rust when on a non-programming gig (using Yocto/OE, very little programming). This project is a BSD licensed, producer-wait-free (when using thread-local storage) generic message logger with high performance, decent test coverage, and type-safe C strings (requires C11 or C++ compiler). It was a shame to let this project to die unknown, as I think that it has potential to be used on some niches as…

    2019 · its alternatives →

  20. 20

    Minimalist, dependency-free virtual machine sandbox for microcontrollers and other resource-constrained devices. Single C file, no dynamic memory allocations, asynchronous design, pure C99 - ringtailsoftware/uvm32

    Dec 2025 · github.com · its alternatives →

  21. 21

    Contribute to cmc-labo/tinyos-rtos development by creating an account on GitHub.

    Apr 2026 · github.com · its alternatives →

  22. 22

    A fun toy memory allocator (not thread safe, that's a future TODO). I also wanted to explain how I approached it, so I also wrote a tutorial blog post (~20 minute read) covering the code which you can find the link to in the README.

    Nov 2025 · github.com · its alternatives →

  23. 23

    Repo: https://github.com/valdanylchuk/xcc700 Hi Everyone! I just wrote my first compiler! - single pass, recursive descent, direct emission - generates REL ELF binaries, runnable using ESP-IDF elf_loader - very basic features only, just enough for self-hosting - treats the Xtensa CPU as a stack machine for simplicity, no register allocation / window usage - compilable on Mac, probably also Linux, can cross-compile for esp32 there - wrote for fun / cyberdeck project Sample output from esp32: xcc700.elf xcc700.c -o /d/cc.elf [ xcc700 ] BUILD COMPLETED >…

    Dec 2025 · github.com · its alternatives →

  24. 24

    Hi HN! I've built [CXXStateTree](https://github.com/ZigRazor/CXXStateTree), a modern C++ header-only library to create hierarchical state machines with clean, intuitive APIs. It supports: - Deeply nested states - Entry/exit handlers - State transitions with guards and actions - Asynchronous transitions with `co_await` (C++20 coroutines) - Optional runtime type identification for flexibility It's ideal for complex control logic, embedded systems, games, robotics, and anywhere you'd use a finite state machine. I’d love feedback, use cases, or contributions from the…

    2025 · github.com · its alternatives →

Also compare

Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →