Interpreting variability and causal limits
What this concept is
A performance result is conditional on a workload, build and environment. Repeated timings support a comparison; they do not automatically identify the mechanism behind it.
Why it matters here
The lab varies dimensions and execution order so learners can investigate cache locality without turning “row traversal is faster” into an answer they must manufacture.
Concrete example
Compare 511 and 512 dimensions. The stride, total data size and possibly cache/TLB interactions change together, so a difference is not a clean single-variable explanation. A median summarizes the center while the full sample range exposes variation. If measurements overlap heavily or timer resolution is poor, report uncertainty rather than a confident ranking.
Common confusion / misconception
Absence of a reversal is a legitimate observation. Do not discard inconvenient samples merely because they disagree with a preferred model. More repetitions cannot repair a wrong checksum or a confounded experiment. Hardware-counter names and permissions vary across platforms.
How to use it
Present prediction, raw observations and interpretation separately. Offer at least one alternative mechanism and a follow-up experiment that would help distinguish it. Counters are optional: report unavailable measurements honestly and do not alter machine security settings to complete this introductory lab.
Check yourself
Can timing alone establish a cache-miss count? What would distinguish vectorization from a locality explanation? Why can a warm-cache benchmark fail to predict cold-start behavior?
Mini drill or application
Choose your least decisive result. Write a bounded claim and the next discriminating experiment, including what result would weaken your current explanation.
Read this only if stuck
Computer Organization and Design for performance reasoning; Linux perf access-control documentation explains why counter availability is environment-dependent.