ReviewOS

zig-utils/zig-js

GC compaction: publish reproducible fragmentation benchmark evidence

#353
Closed chris opened this 9 days ago ·
9 days ago

Parent: #337 Related: #144, #334, #352 Roadmap: #134

Add a dedicated reproducible benchmark for the now-useful explicit compactor and preserve accepted raw evidence.

Scope

  • Build identical fragmented heaps for non-moving collection and explicit compaction.
  • Alternate control/compact process order and preserve every raw sample.
  • Measure retained chunks/capacity, compaction pause, dense fixed point, and a checksum-validated post-action read workload.
  • Record exact repository/dependency revisions, host, OS, Zig, allocator/workload geometry, and reproduction commands.
  • Keep the root README concise; publish only a stable, accepted memory headline there.

Acceptance

  • Harness rejects checksum, live-slot, movement, fixed-point, and backing-growth violations.
  • Full samples show material retained-capacity improvement.
  • Post-compaction probe throughput stays within the documented stability bound versus control.
  • Raw TSV and rendered report are committed from clean benchmark inputs.
  • #337 is updated with the accepted evidence.
9 days ago

Completed in two pushed commits:

  • 9f296900 adds the machine-readable alternating control/compact runner, validation/publication driver, build target, and methodology.
  • 06e27470 publishes the accepted clean full run, raw TSV, report, docs, and concise README headline.

Accepted seven-sample result (14 raw rows): retained backing 8.81 → 0.81 MiB and chunks 141 → 13 (both -90.8%), 6,559 live slots unchanged, 4,097 cells / 524,416 bytes moved in every compact sample, 0.99 ms median compaction pause, immediate no_candidates fixed point, and 1.00x post-action probe throughput versus non-moving control. The harness enforces equal starting heaps, checksum/live-slot equality, no backing growth, real movement, dense second pass, alternating order, and the documented stable-regression gate.

Sign in to comment on this issue.