Async Logging Is Not a Silver Bullet — What Actually Limits Performance

Why moving logging to another thread doesn’t make it cheaper — and where the cost really goes Async logging is often treated as an obvious optimization. It isn’t. It just moves the cost somewhere else. This idea sounds simple: synchronous logging blocks, async logging doesn’t — so it must be faster. But once you look

Logging channels in C++: spdlog vs logme

Support for channels in logging libraries is an important topic for C++ projects where it is necessary to separate, filter, and route messages from different subsystems. Support for channels in logging libraries directly affects how easy it is to analyze logs and how flexible the system is. Why support for channels in logging libraries matters

What Does LOG_INFO() Really Cost? A Benchmark of C++ Logging Libraries

We benchmarked several C++ logging libraries to understand C++ logging performance and answer a simple question: How much does a single logging call actually cost? Logging appears in almost every C++ project. Almost any service, daemon, or library eventually accumulates lines such as LOG_INFO(...) or logger.debug(...). Most of the time, a logging library is chosen based on habit, ecosystem,

Fixing asynchronous COM bug at application startup

My article “Asynchronous COM for Windows Vista and Win7 — memory overwrite bug” is describing an error that appeared in these operation systems. Reliable work of the asynchronous COM was extremely important for the software that was under development (and for sale as well by this time). Multiple appeals to Microsoft with a request to fix