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
signature.asc
Description: This is a digitally signed message part.