summaryrefslogtreecommitdiff
path: root/development/reckless/README
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.