[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug default/19658] New: Type canonicalization slow for the 2nd binary being loaded



https://sourceware.org/bugzilla/show_bug.cgi?id=19658

            Bug ID: 19658
           Summary: Type canonicalization slow for the 2nd binary being
                    loaded
           Product: libabigail
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: dodji at redhat dot com
                CC: libabigail at sourceware dot org
  Target Milestone: ---

This issue has first been reported downstream in Fedora at
https://bugzilla.redhat.com/show_bug.cgi?id=1309400.

Basically, the reporter does this:

abipkgdiff --d1 nss-debuginfo-3.19.1-8.el6_7.i686.rpm --d2
nss-debuginfo-3.21.0-0.1.el6_7.i686.rpm nss-3.19.1-8.el6_7.i686.rpm
nss-3.21.0-0.1.el6_7.i686.rpm

And it takes forever.

After looking into it a bit deeper, I think what takes a long time is the
comparison of the libnssckbi.so shared library embedded in that package.

In particular, it looks canonicalizing certain class types from the *second*
binary being loaded takes a lot of time.

Moreover, those class types are duplicated (present in several translation unit
of the shared library), so canonicalizing them over and over again takes even
more time.

It looks like the ODR-based optimization to speed up type canonicalization is
not effective in the scenario.

-- 
You are receiving this mail because:
You are on the CC list for the bug.