FA-90647 / Garbage collector invariants / Member archive
Collection set: least garbage collected first · case 02
The pause budget is spent on regions that reclaim the least memory.
Case contract
Regions are [id, kind, used, live]. All young regions are always collected (their live bytes cost live * cost). Old regions whose liveness is strictly below live_pct percent (live * 100 < pct * used) are candidates; humongous regions never are. Candidates are ordered by reclaimable bytes (used - live) descending, ties by id, and added while the accumulated cost stays within budget; selection stops at the first candidate that does not fit. Return the collection set, its cost and reclaimed bytes.
Why this case matters
Region-based collectors meet pause goals by choosing the collection set against a cost budget.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: candidates fill the budget exactly | {"cset": [1, 2, 5, 3, 7], "reclaimed": 385, "time": 115} | {"cset": [1, 2, 7, 3, 5], "reclaimed": 385, "time": 115} | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗