review-request: Calligra Words performance work

Sebastian Sauer sebsauer at kdab.com
Mon Jan 31 16:00:55 GMT 2011


Hi *,

please find attached[1] a patch (diff between master and the
words-layout_performance-sebsauer branch) that improves
layouting-performance of Calligra Words.

This is done by getting right of the eventloop-reentry that happened
quit a lot before during layouting [2]. This is the change done to
KWTextDocumentLayout::layout . This now has the effect that we do layout
way more thinks at once before going to the eventloop (and updating what
is displayed). All problems that showed up cause of this changed
behavior where fixed and fixes where merged already into master [3] what
means, that after applying the patch there should be no regressions, no
changed behavior [3].

Ok to merge?

[1] I still have some problems with reviewboard and seems it will take a
bit longer till they are sorted out, therefore I wasn't able to use
reviewboard.
[2] Before loading the first 100 pages of ODF 1.1 specs took ~22 seconds
on my quad-core while now it takes ~8 seconds.
[3] Crashes or even infinite update-loops () which are very visible with
the new no-QTimer::singleShot's design and where before very likely only
hit in an unreproducable, random way.
[4] As you can imagine it would rock if we could unittest this. At the
moment it's not possible or at least canot be easily done without lot of
work. The plan here is that such tests will be added once we refactor
that code to make it a) easier to read and understand and b) allow
proper unittesting of single parts/cases.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: words-layout_performance-sebsauer.patch
Type: text/x-patch
Size: 12662 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20110131/2ae5d785/attachment.bin>


More information about the calligra-devel mailing list