nowfound

Life & fun · alternatives · 2026

24 alternatives to Embedded Ring Buffer C++98

A ring buffer designed to work with embedded devices, does not use heap allocations. - RichardB01/EmbeddedRingBuffer

Embedded Ring Buffer C++98 is a data structure library written for C++98 that implements a circular buffer for efficient memory usage in embedded systems and performance-critical applications. It is designed for… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes. Embedded Ring Buffer C++98 launched in 2021; newer entries below may have overtaken it.

  1. 1

    A single publisher, multi subscriber lockless ring buffer build with the new generics in Go 1.18beta.

    2022 · github.com · its alternatives →

  2. 2

    A fast and memory-optimized string library for C++ - btwael/SuperString

    2018 · github.com · its alternatives →

  3. 3

    I'm looking for feedback on this approach to an immutable string (istring). The idea is to provide a super fast immutable string that can be efficiently passed to lambdas as well as be 100% thread safe. Another bonus is faster hashing. If a string literal is given to istring, then the hash is computed at compile time! Other strings will have their hashes cached for later use. The istring is designed more or less after the python string in this regard. It should also consume less memory than std::string and perform faster in all other areas.

    2014 · github.com · its alternatives →

  4. 4

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

    2024 · github.com · its alternatives →

  5. 5

    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 →

  6. 6

    Heap based scheme machine. GitHub Gist: instantly share code, notes, and snippets.

    2025 · gist.github.com · its alternatives →

  7. 7

    Smart pointers for the (GNU) C programming language - Snaipe/libcsptr

    2015 · github.com · its alternatives →

  8. 8

    A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects. - GitHub - rochus-keller/CspChan: A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects.

    2023 · github.com · its alternatives →

  9. 9

    Contribute to igushev/IgushArray development by creating an account on GitHub.

    2019 · github.com · its alternatives →

  10. 10

    Long-simmering side project that is finally ready to see the light. HAMTs are a cool persistent data structure and implementing one has been a lot of fun. Beyond the code, there is likely some value in the extensive and largely complete implementation docs; basic benchmarks are linked in the README, too. Kind of aiming to be "the libavl for HAMTs". That is obviously a high and aspirational bar but a distinct possibility if it stirs up a little interest and/or contribution. Anyways, it's time for this to go out, collect feedback and maybe even some use outside of toy projects. Let me…

    2023 · github.com · its alternatives →

  11. 11

    🔄 Flexible C memory allocation scheme. Contribute to mulle-c/mulle-allocator development by creating an account on GitHub.

    2016 · github.com · its alternatives →

  12. 12IB

    This weekend I created stacklib.h - a single-header library that brings Forth-style stack operations to C. It implements a basic interpreter with: - Stack operations (push/pop/dup/swap/over/drop) - Arithmetic (+, -, *, /) - Output (., emit, cr) - Stack inspection (.s, depth) Example usage: Stack s; stack_init(&s); dict_init(); exec(&s, "10 20 + ."); // Prints "30" exec(&s, "1 2 3 4 .s"); // Shows stack contents The library is self-contained, requires no dependencies, and handles basic error checking. It was inspired by wanting to understand…

    2025 · its alternatives →

  13. 13

    An implementation of a dynamic programming language in Rust. Includes: Parser/Compiler, REPL, Virtual Machine, Bytecode Disassembler This started out as a learning project to teach myself Rust. It has grown into a decently substantial piece of software and I've learned quite a bit in the process! Some neat things: + A garbage collector that can store dynamically sized types without any double-indirection (i.e. I have my own Box implementation with manual alloc/dealloc) + The smart pointer used to reference GCed data is a thin pointer. The ptr metadata needed for DSTs is stored in…

    2022 · github.com · its alternatives →

  14. 14

    :copyright: Concurrent Programming Library (Coroutine) for C11 - sharow/libconcurrent

    2016 · github.com · its alternatives →

  15. 15

    Simple, zero-dependency garbage collection for C. Contribute to mkirchner/gc development by creating an account on GitHub.

    2019 · github.com · its alternatives →

  16. 16

    Inter-process C++ communication library to enable allocation managed between processes/threads and send/receive of allocated regions between producers/consumer processes or threads using this IPC buffer. (and yes it implements an M:N ring buffer too) - Usage · RaftLib/ipc Wiki

    2021 · github.com · its alternatives →

  17. 17

    Over the last few years, I've needed an easy way to quickly serialise and deserialise various network protocols safely and efficiently. Most of the libraries that existed at the time were either quite heavy, had less than stellar performance, or were an abstraction level above what I was looking for. I decided to put together my own class to do the job, starting with an easy, low-overhead way to move bytes in and out of arbitrary buffers. Along the way, it picked up useful bits and pieces, such as buffer structures and allocators that made the byte shuffling faster, often being able to do it…

    2025 · github.com · its alternatives →

  18. 18UC
  19. 19

    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 →

  20. 20

    If you work in C++, and you would like 2+ programs to share data structures (and/or native I/O handles a.k.a. FDs) among each other, there is a good chance Flow-IPC - will make it considerably less annoying to code than typical approaches; and - may massively reduce the latency involved. Those sharing Cap'n Proto-encoded data may have particular interest. Cap'n Proto (https://capnproto.org) is fantastic at its core task - in-place serialization with zero-copy - and we wanted to make the IPC (inter-process communication) involving capnp-serialized messages be zero-copy,…

    2024 · github.com · its alternatives →

  21. 21RA
  22. 22

    Hey HN, this is Will and David from Fortress (https://news.ycombinator.com/item?id=41426998). We use a lot of async Rust internally, and created this library out of a need for an async-aware concurrent hashmap since there weren’t many available in the Rust ecosystem. Whirlwind is a sharded HashMap with a fully asynchronous API. Just as dashmap is a replacement for std::sync::RwLock, whirlwind aims to be a replacement for tokio::sync::RwLock. It has a similar design and performance characteristics to dashmap, but seems to perform better in read-heavy workloads with tokio's…

    2024 · github.com · its alternatives →

  23. 23

    I built a new 8-bit CPU in VHDL from scratch (starting from the ISA). I felt that most educational soft-cores hide too much behind abstraction, eg. if I can do a+b with a single assignment that calls an optimized arithmetic library, then why did I learn the ripple carry adder in the first place ? And why did I learn flip flops if I can do all my control logic with a simple PROCESS statement like I would with a programming language ? Of course abstraction is the main selling point of HDLs, but would it work if I tried to keep strictly structural and rely on ieee.std_logic_1164 only ? Well, it…

    Jan 2026 · github.com · its alternatives →

  24. 24

    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 →

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 →