Words and large files

Jos van den Oever jos at vandenoever.info
Mon Mar 22 16:43:49 GMT 2021


On maandag 22 maart 2021 14:18:32 CET Pierre wrote:
> So… firing up perf record and hotspot, with OpenDocument spec 1.2 (that's
> what I found in my homedir)…

I had it in Downloads/OpenDocument-v1.2-part1.odt ;-)

For comparison: this one loads faster
  https://webodf.org/demo/ci/wodotexteditor-0.5.9/localeditor.html
but is unmaintained and does no pagination.

> It takes about 21s to load, of which 34% is spent parsing the document (7s,
> still too much, but let's accept it so far) and 59% of the time is spent
> layouting.
> 
> 14% of time is spent in KoTextRange::document() from
> KoTextRangeManager::textRangesChangingWithin. I've optimized this to remove
> this call to document, but I gained only 1s.
> I've done another minor optimization and found on my way that having private
> classes embedded in std::unique_ptr kills performance, but this will
> deserve a message on its own.
> 
> Since the fastest code is the one we don't call, I've written a completely
> different way that doesn't call textRangesChangingWithin anymore. Much
> faster since I'm now down to 15s.

It's faster than Abiword.

After OpenDocument-v1.2-part1.odt was loaded doing ctrl-a <del> is fast. Only 
Calligra is fast at that. Undo after deleting all contents takes quite some 
seconds. But still fairly good. Certainly compared to LO, WebODF and Abiword.

⤳Jos
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20210322/e938d6db/attachment.sig>


More information about the calligra-devel mailing list