3 ms·
> Potentially interesting, but it's not really clear whether this is anything new or not. valgrind + kcachegrind does this too. Looking at the kcachegrind home
by GeekyBear 1y ago
> Potentially interesting, but it's not really clear whether this is anything new or not. valgrind + kcachegrind does this too.
Looking at the kcachegrind homepage, it doesn't sound like they are pulling their data directly from the CPU core itself:
> Callgrind uses runtime instrumentation via the Valgrind framework for its cache simulation and call-graph generation.
https://kcachegrind.github.io/html/Home.html https://kcachegrind.github.io/html/Home.html
Apple seems to have modified it's core design so that it will stream data to a log file while the code is running.
> Recent Apple silicon devices can capture a processor trace where the CPU stores information about the code it runs, including the branches it takes and the instructions it jumps to. The CPU streams this information to an area on the file system so that you can analyze it with the Processor Trace instrument.
- do_not_redeem 1y agoIf you need data straight from the hardware you can use e.g. perf+hotspot, although I've heard that perf's tracing (not sampling!) supports fewer CPUs (but still more than just 1)
- jauntywundrkind 1y agoIntel has a Performance Monitoring Unit on its core that has significant overlap. Forgetting this tool-space, but at least some of these tools can make use of that hardware: https://github.com/intel/pcm https://github.com/intel/pcm https://github.com/andikleen/pmu-tools https://github.com/andikleen/pmu-tools
- kaladin-jasnah 1y agoIIRC perf does it as well.