Summary: | More general Access Counts | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Andrew <andrewjamesweiler> |
Component: | dhat | Assignee: | Julian Seward <jseward> |
Status: | REPORTED --- | ||
Severity: | wishlist | CC: | n.nethercote |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Unspecified | ||
Latest Commit: | Version Fixed In: |
Description
Andrew
2019-04-15 22:09:17 UTC
Valgrind 3.15 just came out and it completely overhauled DHAT. The new version is much better.
The output is now in a tree. The root node of the tree covers the entire program, and looks like this:
> AP 1/1 (25 children) {
> Total: 1,355,253,987 bytes (100%, 67,454.81/Minstr) in 5,943,417 blocks (100%, 295.82/Minstr), avg size 228.03 bytes, avg lifetime 3,134,692,250.67 instrs (15.6% of program duration)
> At t-gmax: 423,930,307 bytes (100%) in 1,575,682 blocks (100%), avg size 269.05 bytes
> At t-end: 258,002 bytes (100%) in 2,129 blocks (100%), avg size 121.18 bytes
> Reads: 5,478,606,988 bytes (100%, 272,685.7/Minstr), 4.04/byte
> Writes: 2,040,294,800 bytes (100%, 101,551.22/Minstr), 1.51/byte
> Allocated at {
> #0: [root]
> }
> }
I'm not sure I understand exactly what you're asking for, but:
- "how many times was an allocator accessed" might be the "5,943,417 blocks" part
- "What is the read count of any width at any offset across all of blocks" might be the "Reads: 5,478,606,988 bytes" part, though that's a byte count rather than a read count.
Does that help?
(In reply to Nick Nethercote from comment #1) > Valgrind 3.15 just came out and it completely overhauled DHAT. The new > version is much better. > > The output is now in a tree. The root node of the tree covers the entire > program, and looks like this: > > > AP 1/1 (25 children) { > > Total: 1,355,253,987 bytes (100%, 67,454.81/Minstr) in 5,943,417 blocks (100%, 295.82/Minstr), avg size 228.03 bytes, avg lifetime 3,134,692,250.67 instrs (15.6% of program duration) > > At t-gmax: 423,930,307 bytes (100%) in 1,575,682 blocks (100%), avg size 269.05 bytes > > At t-end: 258,002 bytes (100%) in 2,129 blocks (100%), avg size 121.18 bytes > > Reads: 5,478,606,988 bytes (100%, 272,685.7/Minstr), 4.04/byte > > Writes: 2,040,294,800 bytes (100%, 101,551.22/Minstr), 1.51/byte > > Allocated at { > > #0: [root] > > } > > } > > I'm not sure I understand exactly what you're asking for, but: > - "how many times was an allocator accessed" might be the "5,943,417 blocks" > part > - "What is the read count of any width at any offset across all of blocks" > might be the "Reads: 5,478,606,988 bytes" part, though that's a byte > count rather than a read count. > > Does that help? Thanks! I glanced at the changelog for DHAT yesterday and noticed all the overhauls. I will upgrade ahead of cannocial's repos at my earliest convenience. Perhaps I was being confusing by describing what I want in two different ways. The "5,478,606,988 bytes" part is very close to what I want to know, though as you point out it's a byte count rather than a read count. I am currently designing a tool that puts wrappers around every read and write, so the access count is more important to me than the number of bytes accessed. I know the development team historically has been looking for feedback on what people want to use DHAT for, so I figured I would open this feature request if only for informational purposes. |