M1: doc-level free list, sessions, and a spec runner that no longer overstates #1
9
PLAN.md
9
PLAN.md
@@ -367,6 +367,15 @@ the filesystem, since 52% of the steady-state file is space the database owns
|
||||
and is not using; it needs the file never to shrink below what the fallback
|
||||
generation references, which is its own crash-safety design pass.
|
||||
|
||||
**One planned commit was declined on the measurement.** A same-length replace
|
||||
could be written in place when the document's bytes are on an unpublished page,
|
||||
and the plan made it conditional on the update line still being the worst. It
|
||||
is the worst — but the measurement says why, and it is not write amplification:
|
||||
the peak is set by the first rebuild's second copy, so generating less garbage
|
||||
moves the number by nothing. It would buy a write-path change, on the path that
|
||||
runs after the log record is durable, for no gate movement. Left undone with
|
||||
the reason, rather than done because it was listed.
|
||||
|
||||
**Small documents behave exactly as forecast**, and the forecast being written
|
||||
down in advance is what makes it a result. 200-byte documents reclaim nothing
|
||||
at all — a 16 KiB system page holds ~70 of them and they never all die at once
|
||||
|
||||
Reference in New Issue
Block a user