- Changed adopt loop from best-fit (scoring all 32 slabs) to first-fit
- Stop at first slab with freelist instead of scanning all 32
- Expected: -3,000 cycles per refill (eliminate 64 atomic loads + 32 scores)
Result: No measurable improvement (1.23M → 1.25M ops/s, ±0%)
Analysis:
- Adopt loop may not be executed frequently enough
- Larson benchmark hit rate might bypass adopt path
- Best-fit scoring overhead was smaller than estimated
Note: Fix#1 (getenv caching) was attempted but reverted due to -22% regression.
Global variable access overhead exceeded saved getenv() cost.