https://bugs.freedesktop.org/show_bug.cgi?id=78479

          Priority: medium
            Bug ID: 78479
                CC: [email protected], [email protected]
          Assignee: [email protected]
           Summary: very slow Asian text entry in writer ...
          Severity: major
    Classification: Unclassified
                OS: All
          Reporter: [email protected]
          Hardware: Other
            Status: NEW
           Version: 4.2.4.1 rc
         Component: sdk
           Product: LibreOffice

Using my new feature/debugevent work - I entered random UCS2 into writer and
was amazed to discover that the cost per key-stroke was -extremely- high.

Luckily its rather easy to profile that with callgrind on that branch; I've
up-loaded a profile here:

http://users.freedesktop.org/~michael/callgrind-asian-entry-at-34ae7b16d.txt.gz

And I attach a screenshot. The punch-line is that ~all the time is spent
continually loading and unloading an UNO component for break iterating =)

21% of the time from ~6000 calls to osl_loadModuleRelative, 25% of the time
from OFactoryComponentHelper::createInstance

and that is rather an under-estimate since the profile also includes startup
etc. =) and I imagine un-loading the module also costs time.

So ...

What would be -really- nice would be a way to timeout / expire such components
(if we think they are worth un-loading) - of course, I expect UNO doesn't have
a thread lying around just to unref components (at a later date) ;-) and who
would want one ? but it also doesn't have an event loop we can plug a timer
into easily (though we could add a hook to provide one I guess (?)).

I imagine doing this a few seconds after last use might work quite nicely.

Then again - the immediate horrible hack is to pretend a systemic problem
doesn't exist, and go add some cache just for this single specific case to just
writer ;-> but I'd like to avoid that if possible.

Thoughts ?

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to