| Summary: | Sampling? | ||
|---|---|---|---|
| Product: | [Developer tools] valgrind | Reporter: | Mike Dunlavey <mdunlavey> |
| Component: | callgrind | Assignee: | Josef Weidendorfer <josef.weidendorfer> |
| Status: | REPORTED --- | ||
| Severity: | wishlist | CC: | jonjo442, mdunlavey |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Unlisted Binaries | ||
| OS: | Unspecified | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: |
My article in Dr. Dobbs
2nd half of article my SIGPLAN article |
||
|
Description
Mike Dunlavey
2008-12-01 14:54:43 UTC
Created attachment 28979 [details]
My article in Dr. Dobbs
It's just a winzip file. Nothing fancy.
Created attachment 28980 [details]
2nd half of article
zip file containing page images
Created attachment 28981 [details]
my SIGPLAN article
P.S. It also captures time spent in function calls that are invisible in the source code, such as compiler-inserted calls. Is this wish about implementing call path profiling with sampling as part of Callgrind, or as a separate profiling tool? Sampling needs some counter or timer measuring events happening, to trigger the samples. And sampling is usually done to get very low overhead, using hardware timers or hardware performance counters. However, in Callgrind/Cachegrind, the cache simulator generates the events, and hardware resources are not used at all. So by using sampling here, you will not really get the speedup you would assume: dynamic instrumentation, the cache simulator, and the updating of the shadow call stack (in the case of callgrind) needs to be done all the time. Regarding call path profiling: If you run callgrind with eg. "--separate-callers=50", you get all events attributed to the call chain up to length 50. The symbols shown in KCachegrind are just the concatenation of all symbols in the call chain. Not the best visualization, but a start... This is something we also request. I have made a modification that does something similar and posted a patch in bug 394307 |