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").

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay