Skip to content

Latest commit

 

History

History
15 lines (10 loc) · 1.41 KB

PERFORMANCE_DESIGN.md

File metadata and controls

15 lines (10 loc) · 1.41 KB

BqLog performance design: three articles

简体中文 · Project home

BqLog's speed is not magic. These three articles start from a single line of log and derive the whole design step by step: take the most intuitive approach, count what it costs, and let that cost lead to the next one. Everything is written against the BqLog 2.6.0 source.

Article What it covers
1: Deriving a compressed format from a line of text Squeezing the text: templates, VLQ, UTF-Mixed, segments, appending and encryption
2: From a ring buffer to an adaptive bus Dozens of threads without a fight: fetch_add + rollback, MISO/SISO, Group compaction and crash recovery
3: How much work can share one memory load? Saving work on the execution path: fused copy+hash, template caches, length backfill, text-path caching and batched I/O

Read them in order. Part 1 decides what the data looks like, part 2 decides how it travels, and part 3 squeezes out the waste left over along that road.

For benchmark numbers, go to Benchmark; for how to configure these mechanisms in daily use, see Advanced Usage.