Malebolgia - Structured Concurrency for Nim
summary
Library Malebolgia adds a compile time spawn construct that enforces every parallel task eventually joins the main flow and it catches simple read write conflicts by macro inspection. Implementation uses a bounded thread pool and a bounded task queue with cancellation and timeouts to keep memory fixed for embedded targets. The codebase is compact (under 300 lines), combines with locks and lock free techniques, reports surprising wins on DFS and crawler benchmarks and therefore won benchmarks in some cases.
AI-written summary · about
chapters (10)
- 0:00Nim and Malebolgia intro
- 6:50Thread pools with Malebolgia
- 11:00Structured concurrency
- 18:05Futures and data flow
- 21:24Benefits of structured concurrency
- 25:01Memory management concurrency
- 31:50Compile-time conflict detection
- 37:26Parallel map/reduce
- 42:03Malebolgia design philosophy
- 45:59Q&A
related talks
52mBest Practices for Concurrency
01h 04mThe C++20 Synchronization Library
30mFearless concurrency in your microcontroller
01h 04m[old version]The C++20 Synchrononization Library
42mNim Nuggets: Systems Programming & Metaprogramming Magic
01h 05mDecomposing a Problem for Parallel Execution
01h 08mWork Contracts - Rethinking Task Based Concurrency & Parallelism for Low Latency C++
48mConsiderations for choosing the parallel computing strategy
