Skip to main content

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.