https://bugs.kde.org/show_bug.cgi?id=442061
Mark Wielaard <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|[email protected] |[email protected] Ever confirmed|0 |1 Status|REPORTED |ASSIGNED --- Comment #11 from Mark Wielaard <[email protected]> --- For --read-inline-info (=yes by default) and --read-var-info (=no by default) we use readdwarf3. This is a very greedy parser which reads all abbrevs, DIEs and debugline entries upfront. This can cause startup times to take multiple seconds (or even minutes) when lots of debuginfo is installed (especially when the debuginfo is compressed with DWZ). The following patches make readdwarf3 read a lot less information when not needed, detect when debug_lines or abbrevs are shared between CUs, more efficiently skip DIEs or whole CUs and makes abbrev reading lazy (so only the abbrevs that are actually needed to read the non-skipped DIEs are processed). readdwarf3: Skip units without addresses when looking for inlined functions readdwarf3: Only read line table for units with addresses for inlined functions readdwarf3: Reuse fndn_ix_Table as much as possible readdwarf3: Immediately skip to end of CU when not parsing children readdwarf3: Reuse abbrev if possible between units readdwarf3: Introduce abbv_state to read .debug_abbrev more lazily Before (best of 3) --read-inline-info=yes --read-var-info=yes real 35.45 user 34.38 sys 0.95 --read-inline-info=no --read-var-info=yes real 24.21 user 23.51 sys 0.61 --read-inline-info=yes --read-var-info=no real 11.81 user 11.44 sys 0.34 After (best of 3) --read-inline-info=yes --read-var-info=yes real 13.01 user 12.63 sys 0.33 --read-inline-info=no --read-var-info=yes real 12.88 user 12.51 sys 0.33 --read-inline-info=yes --read-var-info=no real 0.43 user 0.38 sys 0.04 -- You are receiving this mail because: You are watching all bug changes.
