65,536 accesses, three orders, one block size
65,536 accesses, three orders, one block size
Each row makes exactly 65,536 element accesses; only the order differs. In order, the 65,536 accesses cost 1,024 transfers, because each block arrives once and every element in it is used before it leaves. Striding by a whole block costs 65,536 — one transfer per access, with B−1 elements of each block thrown away. The operation count cannot tell these apart and never could.
Drawn at 700 × 298, wide on the page.
Everything above is what transfer-cost returns with no arguments; the caption is the
generator's own, computed from the numbers in the drawing rather than written beside it.
10 essays call
transfer-cost. The drawing above is what it returns with no arguments at all; every
call below passes it something, because a placement that passes nothing draws whichever
member of the family the generator happens to default to rather than the one its essay
argues about — which is what optcheck and figfill exist to catch.
Where it is called
Changing this generator changes every one of these figures.