3 ms·
I have two words for that page "holy sh*t" that is the most excellent performance visualization stuff I've seen in a long time[1]. Nice that it is a GSoC projec
by ChuckMcM 7y ago
I have two words for that page "holy sh*t" that is the most excellent performance visualization stuff I've seen in a long time[1]. Nice that it is a GSoC project this year, can't wait to see the final output.
[1] Seriously, the last time I saw something that good and detailed was an investigation into cache line miss performance back in 2002 on the Intel P4 at NetApp. That investigation figured out that the transaction rate in Intel's memory controller resulted in an 18+% reduction in throughput and up to 50% increase in latency for file system operations.
- boomskats 7y agoYeah this is an awesome writeup. Do you have a link to your [1]?
- ChuckMcM 7y agoAlas no, it was internal to NetApp (and to Intel who had been disputing it was their problem for over a year).
- closeparen 7y agoFWIW this kind of visualization is the output of "go tool trace" and it's awesome, particularly for chasing down tail latencies, as the eye can quickly find irregularities in the pattern and see exactly what is taking the extra time.
- shereadsthenews 7y agoIt's also pretty similar to `perf timechart`
- codetrotter 7y agoThe flame graphs, you mean? Chromium and Google Chrome has those in their dev tools too, and allow you to create graphs of your own. You output trace info in that format and it will give you interactive flame graphs. Not just for web dev mind you — could be anything you can imagine. Here is a random blog post explaining how to use it if you are interested: https://aras-p.info/blog/2017/01/23/Chrome-Tracing-as-Profiler-Frontend/ https://aras-p.info/blog/2017/01/23/Chrome-Tracing-as-Profil... And here is a video showing a guy in the demoscene making use of the visualization for tracing what is going on in his code while working on making a piece of software multithreaded. https://www.youtube.com/watch?v=zCICjD4J0nA&t=12m15s https://www.youtube.com/watch?v=zCICjD4J0nA&t=12m15s Notice also that these flame graphs don’t have to correspond to time spent in a function. You label it yourself, meaning that you are actually limited only by your own imagination. For example, I seem to remember that in the video above Ferris used it somewhat differently than just looking at time spent in each function call.