Bug 28588 - significant performance regression in addr2line
Summary: significant performance regression in addr2line
Status: UNCONFIRMED
Alias: None
Product: binutils
Classification: Unclassified
Component: binutils (show other bugs)
Version: 2.38
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-12 19:27 UTC by Joel Hock
Modified: 2021-11-12 19:28 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joel Hock 2021-11-12 19:27:41 UTC
Commit ca8f6bc629c causes a significant performance issue for my use of addr2line.  Specifically, the use of lookup_func_by_offset() exhibits quadratic complexity when processing a new compile unit.  One of our larger compile units has 80k entries in the funcinfo table, many of which I believe come from C++ inlined subroutines.  This takes almost 20 seconds to process, whereas before this commit, processing the compile unit was nearly instantaneous.  The regression is especially felt when using a tool such as google-pprof, which queries addresses across many compile units; what used to take 1 minute before that commit now takes 10.