3 ms·
It is so odd that companies with such immense engineering budgets and computational costs continue to use low resolution profiling techniques such as sampling i
by Veserv 5y ago
It is so odd that companies with such immense engineering budgets and computational costs continue to use low resolution profiling techniques such as sampling instead of modern high resolution tracing based solutions. The gap in insight you can get between seeing some things and literally everything is similar to the gap between no profiler and a sampling profiler. You can actually trace the direct causes of slowness instead of just the symptoms. It is so massive that every time we move a system that was optimized using a sampling profiler to a tracing profiler we learn just how little we knew about how it worked and how stupid the program was behaving and routinely see 30%-50% speedups from those insights on even heavily optimized code.
The only real downsides to tracing over sampling is that the overhead is higher than low resolution sampling down to ~100 usecs per sample (single-digit to low double digit overhead) and that any performant solution basically requires instrumentation and thus results in small overhead if you want it to be runtime toggleable and requires tooling support to inject. However, given the immense benefits, it is baffling that companies continue to struggle with such minimal tooling and platforms that only have such tooling available.
- gok 5y agoThat is...so the opposite of my experience. Sampling has the critical benefit of not biasing the profiling towards frequent-but-fast spots. Tracing profilers give you very precise but inaccurate information on your hotspots.