OLSRT — A C11 Concurrency Runtime with Actors, Channels, and an Event Loop
说明与用途
OLSRT 将核心并发原语整合到单一 C11 库中,消除了重新实现 epoll 包装器、线程池等组件的需求。测试和演示验证了其正确性。
问题
Developers writing concurrent C on Linux repeatedly re‑implement epoll wrappers, thread pools, lock‑free queues, promises, and shutdown logic, leading to duplicated effort and inconsistent quality.
结果
OLSRT consolidates common concurrency primitives into a single, well‑tested C11 library, reducing duplication and improving reliability. The test suite and demos confirm correct operation, and the library is easy to integrate.
工作流
- Clone the OLSRT repository
- Build the library with "make linux"
- Run the test suite with "python3 verify.py" to ensure ASan, UBSan, and TSan pass
- Use the provided demos in the demos/ directory to validate functionality
- Integrate OLSRT primitives into your project by linking against the library and including the appropriate headers
证据
Four years ago, if you wanted to write concurrent C on Linux, you ended up writing the same code over and over: an epoll wrapper, a thread pool, a lock-free queue, a promise type, and a way to shut all of it down cleanly without leaking.
OLSRT is our answer to that. It is an Apache-2.0 C11 runtime that ships all of those primitives in one place, with a coherent ownership model and a single event loop that ties them together.
The previous release shipped without a test suite and, as we later discovered, with eleven real bugs. We spent a week writing regression tests before touching any of them.
Demo 02 ran 1,000,000 messages through a 1024-slot channel on an AMD E2-1800 (dual-core, 1.7 GHz) at roughly 386,000 msg/s.
git clone https://github.com/OverLab-Group/OLSRT.git cd OLSRT make linux python3 verify.py # ASan + UBSan + TSan
- 记录日期: 2026-10-01T11:40:43.700Z