[Release] slick-logger v2.2.0 — Lock-free asynchronous C++20 logging with multi-process shared-memory support
Hi r/cpp,
I'd like to share **slick-logger**, an MIT-licensed, header-only C++20 logging library I've been developing for latency-sensitive applications.
The goal is to keep logging overhead low on application threads while supporting practical features such as multiple sinks, file rotation, and logging across process boundaries.
**Highlights:**
* Lock-free MPMC queue with deferred formatting
* C++20 `std::format` support
* Multi-process logging through shared memory and a dedicated collector
* Multi-sink output, rotation, and customizable formatting
* Source-location capture and configurable runtime statistics
* Windows, Linux, and macOS support
* Available through vcpkg
**Benchmarks**
On an AMD Ryzen 9 5900HX running Windows 11, the published benchmarks measured 10.96 million producer-side logging calls/sec with eight producer threads and small messages, compared with 1.93 million for spdlog async under the tested configurations.
These numbers measure producer-side enqueue performance, not durable log throughput. Queue saturation may result in overwritten entries. The complete benchmark source, hardware details, and methodology are available in the repository.
I'd particularly appreciate feedback on the concurrency architecture, benchmark fairness, and multi-process logging design.
GitHub: [https://github.com/SlickQuant/slick-logger](https://github.com/SlickQuant/slick-logger)
Benchmarks: [https://github.com/SlickQuant/slick-logger/tree/main/benchmarks](https://github.com/SlickQuant/slick-logger/tree/main/benchmarks)
https://redd.it/1x4cqxl
@r_cpp
Post #25845
3