[Libreoffice-bugs] [Bug 49350] 10x speedup of saving a new entry to a large autocorrect replacement table
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon Aug 20 12:17:20 CEST 2012
https://bugs.freedesktop.org/show_bug.cgi?id=49350
Michael Meeks <michael.meeks at novell.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status Whiteboard| |EasyHack,DifficultyInterest
| |ing,SkillCpp
Summary|freeze when saving new |10x speedup of saving a new
|entry to a large |entry to a large
|autocorrect replacement |autocorrect replacement
|table |table
--- Comment #25 from Michael Meeks <michael.meeks at novell.com> 2012-08-20 10:17:20 UTC ---
> hi Michael, I don't want to seem pushy, but I just wanted to know
> if you are aware of the backtrace provided by Korrawit
Drat - I missed that :-) Poking at the trace (thanks for that) in kcachegrind -
it seems like a big chunk of the problem is here:
SvLBoxString::InitViewData(SvLBox*,SvLBoxEntry *, SvViewDataItem *)
Which is called 484,000 times - and chews up 25% of the total time (including
startup etc.) mostly in measuring text via. OutputDevice::GetTextWidth()
That's fun :-)
That in turn is called from SvLBox::RecalcViewData - which is called 11 times
(seems odd), from SvTreeListBox::SetFont - which is called 9x times (odd).
That is called from SvTreeListBox::PaintEntry1 - which is called 80x times -
so, perhaps if we can work out what's up with changing the font there, we could
get a 10x speedup of that piece.
I've easy-hackified this, hopefully that'll increase interest.
Thanks for the trace !
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the Libreoffice-bugs
mailing list