Designs that were worked out, sometimes built and measured, and then replaced.

They are kept for the reasoning rather than for the result. Each of them was a reasonable answer to the constraints as they stood, and understanding which constraint changed is usually more instructive than the replacement design on its own — and it is the cheapest defence against re-proposing one of them.

Nothing here describes current behaviour. Where a document says “kladde does X”, read “kladde did X”.

What was replaced, and by what

superseded designreplaced bywhat changed
The relocatable heap — allocations as contiguous ranges in a flat address space, an id → address table, and sizedness as a placement hintPages and the address tablethe move to copy-on-write pages: nothing is adjacent to anything any more, so contiguity, placement-by-address, and sizedness all stop meaning anything
Incremental compaction — a potential function over byte addresses, frontier slides, and an augmented B+ tree to find the best move in O(log n)Consolidationsame cause: there is no address ordering left to descend, so victim selection becomes the log-structured live-fraction rule instead
The in-place flush — conflict detection, write-ahead copies, read hoisting for restartabilityThe copy-on-write protocola flush no longer overwrites anything a recoverable state depends on, so there is nothing to protect against and nothing to restart from
Whole-allocation table entries — one statement per allocation, chunk lists, extents, spilling, and a separate index of table pagesStatementskeying by byte offset instead of by allocation made per-range statements viable, which removed the need for every mechanism in the left column

A note on measurement

The compaction work in particular was implemented, benchmarked across several orders of magnitude of heap size, and tuned. Those numbers describe a system that no longer exists, but the methodology notes in it — especially about build-to-build timing drift swamping the effects being measured — apply to anything measured later, and are the reason that document keeps its numbers rather than being summarised away.

4 items under this folder.