4 ms·
If you're talking about the flame graphs, they're a fairly common feature of modern profilers. The oldest implementation I know of is at https://github.com/bren
by _verandaguy 8y ago
If you're talking about the flame graphs, they're a fairly common feature of modern profilers. The oldest implementation I know of is at https://github.com/brendangregg/FlameGraph https://github.com/brendangregg/FlameGraph.
- gnufx 8y agoI've never understood why flame graphs are better than the normal presentation of inclusive and exclusive timings in performance tools, even if they're not "modern", but embody some decades' experience. Anyone care to explain?
- detaro 8y agoI'm far from a performance expert, but my impression is: It shows the call paths to the functions and what part each path took, that's not so obvious from the typical table. On the other hand, finding functions that are called quite a lot all over the place and add up is easier in the table, so it's not become useless.
- andreareina 8y agoFlame graphs have extra information in the form of seeing the caller and callees. That, and I find the graphical presentation to be easier to scan.
- gnufx 8y agoOf course I expect to see the call tree, and to flip between that and a flat view, to flip between different metrics in the views, and to see them across processes/threads. I'm talking about graphical tools (perhaps coupled with external reduction of the data) like CUBE [1], Paraprof [2], and those in toolsets like Open|Speedshop [3] and HPCToolkit [4] with which I'm less familiar. 1. http://www.scalasca.org/software/cube-4.x/documentation.html http://www.scalasca.org/software/cube-4.x/documentation.html 2. https://www.cs.uoregon.edu/research/tau/docs/newguide/bk01pt02.html https://www.cs.uoregon.edu/research/tau/docs/newguide/bk01pt... 3. https://openspeedshop.org https://openspeedshop.org 4. https://hpctoolkit.org https://hpctoolkit.org
- kevin_thibedeau 8y agoThis is the same script. The Rust code is just invoking Perl to generate it.