blob: 9cb58fc3c990e38378c8dd9129fd0101b9800113 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
Reckless is an extremely low-latency, high-throughput logging library.
It was created to perform extensive diagnostic logging without
worrying about performance. Other logging libraries boast the ability
to throw log messages away very quickly. Reckless boasts the ability
to keep them all, without worrying about the performance impact.
Filtering can and should wait until you want to read the log, or need
to clean up disk space.
The code generated at the call site consists of:
- Pushing the arguments on a thread-local queue. This has the same
cost as pushing the arguments on the stack for a normal function
call.
- Call to Boost.Lockless (NB: this is bundled with the library, not
an external dependency) to register the write request on a shared
lockless queue. The actual message formatting and writing is
performed asynchronously by a separate thread.
|