advanced · perf

Reading the Counters

A loop shows low IPC, a low L1 miss rate, a high last-level cache miss rate and memory bandwidth near the platform maximum. Is it compute-bound or memory-bound, and what would you do?

Practical scenario

An analytics kernel is being optimised. Someone has proposed doubling the instance size on the basis that CPU utilisation reads 100%.

What it tests

  • Whether the candidate reasons from evidence rather than intuition
  • Understanding that low IPC means stalls, not necessarily heavy computation
  • Knowledge that bandwidth saturation changes which fixes can work

Lessons behind this question