← Back to team overview

touch-packages team mailing list archive

[Bug 1343198] Re: [android] Mir spends 12%+ CPU time in get_hooked_symbol (libhybris-common) comparing strings when it should be rendering

 

Did you test the upstream implementation first to see if that is already
enough for you? While I like the change you proposed, that would differ
us from upstream, and the next rebase would mean dropping your change.

-- 
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:
  [android] Mir spends 12%+ CPU time in get_hooked_symbol (libhybris-
  common) comparing strings when it should be rendering

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 strcmp 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


References