← Back to team overview

touch-packages team mailing list archive

[Bug 1343198] [NEW] Mir spends 12%+ CPU time in get_hooked_symbol (libhybris-common)

 

Public bug reported:

On the N4, Mir spends 12%+ CPU time in get_hooked_symbol (libhybris-
common). Actually callgrind can't decide; it's somewhere between 12% and
46000% ;)

So it's big. Looking at the hybris code, there's a rather large
bottleneck that's obvious: get_hooked_symbol does a linear search (many
times) of a large list of strings using strmp alone. That's why 22132
calls to get_hooked_symbol are yielding over 5 million calls to strcmp.

Upstream hybris appears to have been modified to use a cache/hashing
instead of the ugly linear search we have.

** Affects: mir
     Importance: Medium
     Assignee: Daniel van Vugt (vanvugt)
         Status: In Progress

** Affects: libhybris (Ubuntu)
     Importance: Undecided
     Assignee: Daniel van Vugt (vanvugt)
         Status: In Progress


** Tags: performance

** Also affects: libhybris (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: libhybris (Ubuntu)
     Assignee: (unassigned) => Daniel van Vugt (vanvugt)

** Changed in: libhybris (Ubuntu)
       Status: New => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to libhybris in Ubuntu.
https://bugs.launchpad.net/bugs/1343198

Title:
  Mir spends 12%+ CPU time in get_hooked_symbol (libhybris-common)

Status in Mir:
  In Progress
Status in “libhybris” package in Ubuntu:
  In Progress

Bug description:
  On the N4, Mir spends 12%+ CPU time in get_hooked_symbol (libhybris-
  common). Actually callgrind can't decide; it's somewhere between 12%
  and 46000% ;)

  So it's big. Looking at the hybris code, there's a rather large
  bottleneck that's obvious: get_hooked_symbol does a linear search
  (many times) of a large list of strings using strmp alone. That's why
  22132 calls to get_hooked_symbol are yielding over 5 million calls to
  strcmp.

  Upstream hybris appears to have been modified to use a cache/hashing
  instead of the ugly linear search we have.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1343198/+subscriptions


Follow ups

References