ROADMAP: write up the remaining performance work
Five items in dependency order, each sized to land on its own. The design decisions already settled are recorded so they are not re-derived, and so are the ordering constraints, which are the part that actually matters -- notably that the _id index must follow the tree, because it updates on every insert and against a sorted array that is only affordable while ids happen to append at the end. Also carries the ground rules the earlier work established: A/B on one harness rather than trusting a model, mutation-check tests that guard an invariant, and the two absolutes (an index may only over-approximate; the database must always open). Each item names the traps found while investigating it -- deletion being where B+trees go wrong, listIndexes possibly noticing a real _id_ index, hashing compressed rather than uncompressed bytes, the fabricated Document values that break when Document changes meaning, and the durability guarantee that quietly weakens under group commit.
This commit is contained in:
@@ -216,6 +216,9 @@ above is recorded in `tests/e2e/results/phase1.txt`.
|
||||
|
||||
### What is left (highest impact first)
|
||||
|
||||
Each is written up with its design decisions, ordering constraints and
|
||||
traps in [ROADMAP.md](ROADMAP.md).
|
||||
|
||||
1. **Compress the log** — the largest remaining gap (×11). Payloads are
|
||||
stored raw. A block-framed format with an LZ4 block codec would shrink
|
||||
highly compressible workloads massively; note Zig 0.16 ships zstd
|
||||
|
||||
Reference in New Issue
Block a user