collections: win back the allocations of ArrayList over Buffer, and its cost table (follow-up of #526) #566
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Follow-up of #526 (PR #529, step 3 of #55).
ArrayListoverBufferraises the allocation budget (.allocations) of many conformance programs: PR #529 records the old and new counts in its body and raises the budgets as a deliberate cost of slice 1 (the largest rises are innetwork-lookup,parallel-ordered,parallel-texts,parallel-sources). #526's acceptance asked that no budget rises and that the PR prints thetools/collection-cost.shtable (record section 6, "no slower than before"); neither is met by #529.Goal
The extra blocks of the record over
Bufferare found and removed again, and the cost of slice 1 is measured.Acceptance criteria
ArrayList.over, the iterator) and removed where the lowering can avoid it; every budget that drops is lowered (sh tools/conformance.sh --update-budgets).tools/collection-cost.shtable of tier B (fastest of nine runs, base against head) forlist-index,list-iterate,array-write,buffer-write,bytes-pass,list-slice,list-write-shared,list-literalis in the PR, with the baselines of #468; a worse row is fixed or decided with the numbers in COLLECTION-STORAGE.md.Dependencies
#526 / PR #529 (lands first). Epic #55.
[loop:orion] labelled
loop: live-design follow-up of #526 / PR #529 (epic #55), filed by an interactive session without the label. Not superseded; no retirement.[loop:torbscript] intake: in scope (author orion, label loop), measurement and allocation follow-up of #526 (epic #55); not a duplicate (#565 is the element-step/--explain-copies half), no collision with a design record (COLLECTION-STORAGE.md is the spec). No seed impact expected. next: refine (queued, dependency #526 / PR #529 landed)