RFR: 8333994: NMT: call stacks should show source information [v2]
Thomas Stuefe
stuefe at openjdk.org
Mon Jun 17 15:28:14 UTC 2024
On Fri, 14 Jun 2024 21:13:05 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:
>
> I have the same question. Did dwarf decoder performance improve? If so, could you point me the PR? Thanks!
I completely forgot that this had been an issue. The comment was even written by me :(
No, Elf decoder is still slow. But I have found myself too many times staring at NMT output now trying to make sense of the offsets. Missing source info in combination with the small stack size of 4 makes investigations a pain.
I added a simple caching mechanism to aid printing. Its pretty straight-forward, but still I am not sure it is worth the complexity. Here the numbers:
Running all NMT jtreg tests:
- Stock JVM (no source info): 40 seconds
- Source info: 2 min 30 seconds
- Source info + caching: 1 min 15 seconds
I think that is acceptable. Any more intricate caching would be over the complexity-benefit line.
@gerard-ziemski
The cost is with Dwarf parsing, not dladdr. dladdr is cheap. But feel free to make Dwarf parsing cheaper, that would be surely welcome.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19655#issuecomment-2173709665
More information about the hotspot-dev
mailing list