Skip to content

Commit ae314fd

Browse files
authored
Updated design goals section
1 parent c7e0e40 commit ae314fd

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,9 +116,10 @@ See [benchmarks](https://github.com/p-ranav/binary_log/blob/master/README.md#ben
116116
- If the user wants multi-threaded behavior, the user can choose and implement their own queueing solution
117117
- There are numerous well-known lock-free queues available for this purpose ([moody::concurrentqueue](https://github.com/cameron314/concurrentqueue), [atomic_queue](https://github.com/max0x7ba/atomic_queue) etc.) - let the user choose the technology they want to use.
118118
- The latency of enqueuing into a lock-free queue is large enough to matter
119-
- Users who do not care about multi-threaded scenarios should NOT suffer the cost
119+
- Users who do not care about multi-threaded scenarios should not suffer the cost
120120
- Looking at the [atomic_queue benchmarks](https://max0x7ba.github.io/atomic_queue/html/benchmarks.html), the average latency across many state-of-the-art multi-producer, multi-consumer queues is around 150-250 ns
121-
* Avoid writing static information (format string, and constants) more than once
121+
* Avoid writing static information more than once
122+
- Examples of static information: the format string, the number of format args, and type of each format arg
122123
- Store the static information in an "index" file
123124
- Store the dynamic information in the log file (refer to the index file where possible)
124125
* Do as little work as possible in the runtime hot path

0 commit comments

Comments
 (0)