Generator

Elements written per key inserted, 16,384 random keys

Rendered here at the parameters it defaults to, with every essay that calls it — which is the same list as the blast radius of changing it.
Elements written per key inserted, 16,384 random keysThe same 16,384 insertions into an in-place B-tree and into a log-structured store at four size ratios. The B-tree dirties one leaf per key and that leaf is evicted before it is touched again, so it writes a whole block — 49 elements — for each key. The log-structured store writes each key once per level it passes through and writes in whole blocks, so it moves 2.0 elements per key at T = 4. Neither number appears in any operation count, and the second structure exists entirely because of the first.elements of block written per key insertedB-tree, in place49.3Log-structured, T = 23.0 · 16× less than the treeLog-structured, T = 42.0 · 25× less than the treeLog-structured, T = 81.0 · 49× less than the treeLog-structured, T = 161.0 · 49× less than the treeB = 64, M = 4,096 (M/B = 64)25× between the two structures at T = 4

Elements written per key inserted, 16,384 random keys

The same 16,384 insertions into an in-place B-tree and into a log-structured store at four size ratios. The B-tree dirties one leaf per key and that leaf is evicted before it is touched again, so it writes a whole block — 49 elements — for each key. The log-structured store writes each key once per level it passes through and writes in whole blocks, so it moves 2.0 elements per key at T = 4. Neither number appears in any operation count, and the second structure exists entirely because of the first.

Drawn at 700 × 310, wide on the page. Everything above is what write-amp returns with no arguments; the caption is the generator's own, computed from the numbers in the drawing rather than written beside it.

4 essays call write-amp. The drawing above is what it returns with no arguments at all; every call below passes it something, because a placement that passes nothing draws whichever member of the family the generator happens to default to rather than the one its essay argues about — which is what optcheck and figfill exist to catch.

Where it is called

Changing this generator changes every one of these figures.

The library, page 5 of 5 — where write-amp sits