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.

Reply via email to