Performance Analysis

What is the phenomenon called in which adding a mechanism to measure performance changes the behavior of the program being measured?

  1. ACache coherence
  2. BThe probe effect (observer effect)
  3. CPipelining
Show answer and explanation

Answer: B. The probe effect (observer effect)

Measurement actions such as printing logs, inserting timing code or stopping in a debugger consume time and cache themselves and change timing. So measured behavior may differ from unmeasured behavior, and timing-dependent bugs such as data races may vanish only while being measured. It is important to choose low-impact methods such as sampling or performance counters and to check how large the measurement's influence is.

  • A. That is a cache consistency mechanism.
  • B. Correct. Measurement impact must be minimized.
  • C. That is overlapping instruction execution.
Practice this topic Back to topic

More Performance Analysis questions

  1. What is the most appropriate way to proceed when improving program performance?
  2. In a program processing large amounts of data, which improvement is most likely to give the largest speedup?
  3. In software development, what is the purpose of automatically running benchmarks and recording results on every change?
  4. Benchmarks on a laptop vary widely between runs of the same program. Which pairs a CPU-side cause with a countermeasure correctly?
  5. When measuring performance on multicore or NUMA systems, why are threads sometimes pinned to specific cores (setting affinity)?