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
- 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.
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.
- Profiler - measures end to end runtime of components
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.
Virtual speedup - slow other components, this simulates one component being relatively faster.
you need to mark where to measure ("Progress Point").
Top comments (0)