DEV Community

MoRoth
MoRoth

Posted on

Causal Profiling and Why

Notes for interesting lecture on Performance and Profiling.

  • Performance used to be easy (Moore's law) - just wait for hardware to improve and boom, there is a Performance boost

Image description

Image description

  • Performance may be changed accidentally by input parameters, environment (stack/heap size), link order, function address, cache sizes etc - this is called "Layout change"
  • Stabilizer is repeatedly changing all of this things while running and measuring Performance
  • Explains something really interesting about "Null Hypothesis Significance" testing.

Image description

Creating one random Layout and testing is not enough. It's required to do it many times with different Layouts to make sure the improvement is not by chance.
If the speedup occures in low chance like <0.05 we reject the speedup.

Image description

  • Profiler - measures end to end runtime of components Image description

Profilers are not good at finding out important bottlenecks. Very general.

  • Causal Profiler

This is like an oracle saying where to focus Engineering efforts to get whole Performance improvement for the App.

Image description

  • Virtual speedup - slow other components, this simulates one component being relatively faster.

  • you need to mark where to measure ("Progress Point").

Top comments (0)