generic 25.04 writer performance ticket
From today's collaborative test session, 22-04-25
COOLWSD version: 25.04.0.3(git hash: b2ad28b546 (E)) LOKit version: Collabora Office 25.04.0.3(git hash: e138a0c430)
cc: @mmeeks @timar @caolanm @eszkadev
cc @annanazarayan
Today's staging-perf Writer profile from CoolWeekly. 24-04-2025
COOLWSD version: 25.04.0.3(git hash: 84302130fb (E)) LOKit version: Collabora Office 25.04.0.3(git hash: 636de9160a)
From today's collaborative test session, 30-04-25
On staging-perf:
COOLWSD version: 25.04.1.1(git hash: 5e1ee4029a (E)) LOKit version: Collabora Office 25.04.0.3(git hash: 2573db10d2)
Long, 198 pages file, mostly text:
Short, 8 page: "Hello world" document:
From today's collaborative Writer test session on staging perf 07-05-25:
COOLWSD version: 25.04.1.1(git hash: https://github.com/CollaboraOnline/online/commit/4189a0ad3ff60b7ede3de65cc26e54782cb100ca (E)) LOKit version: Collabora Office 25.04.1.1(git hash: a865c65727)
From today's collaborative Writer test session on staging perf 12-05-25:
It was a short test.
First profile
Second profile
From today's COOL Weekly 22-05-25
COOLWSD version: 25.04.2.1(git hash: https://github.com/CollaboraOnline/online/commit/224367de9a463a5079d4723c4a42d5a3c5b3c46b (E)) LOKit version: Collabora Office 25.04.2.1(git hash: 62f094380d)
From today's Collaborative test session 27-05-25,
Writer
COOLWSD version: 25.04.2.1(git hash: https://github.com/CollaboraOnline/online/commit/16fa3ede1810867c87a68ccced7f757203013caf (E)) LOKit version: Collabora Office 25.04.2.1(git hash: ad2782a447)
From today's COOL Weekly: 10-07-2025
Writer.
COOLWSD version: 25.04.3.2(git hash: https://github.com/CollaboraOnline/online/commit/9901cb2767817285f8a3dc19e1072e5089169b2d (E)) LOKit version: Collabora Office 25.04.3.1(git hash: 427de88f76)
The makeCacheId -> FreetypeFont::GetFontOptions hunk is high for this document. The font options are cached inside FreetypeFont, so that suggests that we are frequently creating new fonts to render this
Looking at the source document I see that, from vcl's perspective, there are more than 50 fonts used, and that's above the 50 font default limit before we drop old fonts on needing new ones. So I expect that is why there is the visible churn in this profile.
But, while there are various different font sizes, and different font italic/weights many of the fonts otherwise differ by just the font language (which just comes from the text language) so the font cache sees the fonts of different languages as different. I'm pretty sure that at this stage in vcl that the font language not longer matters, so https://gerrit.libreoffice.org/c/core/+/187633 to attempt to improve this.
Today's WRITER profile from Collaborative test session: 15-07-2025
COOLWSD version: 25.04.3.2(git hash: 279039b (E)) LOKit version: Collabora Office 25.04.3.1(git hash: 38a2972ec1)
Two users, we were testing specifically document save in session with multiple users. When 1 user tries to manually save the document while other users are still typing.
And the save process in the profile also took more resources.
First Profile:
Second profile:
Today's Writer profile from COOL Weekly: 17-07-2025
COOLWSD version: 25.04.3.2(git hash: https://github.com/CollaboraOnline/online/commit/c0cdbd8d740d05cfd1c5d2a9a67bf61ad4b163a9 (E)) LOKit version: Collabora Office 25.04.4.1(git hash: 51fa8f5c30)
And today we managed to trigger a bug that caused the document to freeze that we are still tracking down.
Today's Writer profile from COOL Weekly: 24-07-2025
Today's Writer test was cut short due to an issue with the host server. So the profile is not that long.
Today's staging-perf writer profile from Collaborative Testing. 29-05-2025.
COOLWSD version: 25.04.4.1(git hash: https://github.com/CollaboraOnline/online/commit/e8e91c9bedf1e3ac153c41ccd76647cd8088f67e (E)) LOKit version: Collabora Office 25.04.5.0(git hash: 142b3ea5a7) Served by: openSUSE Leap 15.5 Server ID: f65f363f WOPI host: nextcloud 31.0.7.1 - richdocuments 8.7.1
First Profile:
Second profile:
Today's staging-perf calc profile from COOL Weekly. 31-07-2025.
COOLWSD version: 25.04.5.0(git hash: a16ba7ea22 (E)) LOKit version: Collabora Office 25.04.5.0(git hash: 4be7e07af7)
Flie was slow at some points, particularly when typing close to the headers and footers, after double clicking between the pages so that there was no space between the pages. A lot of tiles being refreshed.
From today's COOL Weekly: 07-08-2025
COOLWSD version: 25.04.5.0(git hash: 99d3c9c049 (E)) LOKit version: Collabora Office 25.04.5.0(git hash: 58f87a032e)
Test file had some tile rendering issues at one moment. Seen by multiple users.
From today's COOL Weekly. 04-08-2025
COOLWSD version: 25.04.5.1(git hash: 671d3bd8ea (E)) LOKit version: Collabora Office 25.04.5.1(git hash: d748b199b7)
First Profile:
Second profile:
From today's cool weekly: 13-11-2025
COOLWSD version: 25.04.8.0(git hash: https://github.com/CollaboraOnline/online/commit/ab9e14c753c5e309ec779ab88a5094f14a74d291 (E)) LOKit version: Collabora Office 25.04.8.0(git hash: 28273e586b) richdocuments 9.0.1
This is the cool weekly file, where testers reported the file was slow.
Bellow is a different test file, that testers also reported slow:
There does seem to be a lot of expensive ApplyViewOptions happening, something that isn't present in earlier profiles, but it is in recent ones and that seems to be taking quite a bit of time. Not clear to me why that is happening so much, maybe switching in and out of different zoom levels or something
I expect someone has a very complex selection; perhaps someone searched for 'a' in the sidebar or something - and then we have this biiig chunk of work to handle that.
Given that we don't paint selections on tiles, but have them on a client-side overlay; it would strike me as rather unhelpful to do all of that work very frequently in 'PaintTile' - which is a good 40%+ of the profile. Also seems to make 'setView' horribly slow too - which might be more problematic - I hope that we manage the real selection (if not it's exact rectangle positions) per-view anyway - so ... looks like there are some big potential wins possible there @grandinj might be interested :-)
From today's collaborative test session 18-11-2025
COOLWSD version: 25.04.8.0(git hash: 81881d58fd (E)) LOKit version: Collabora Office 25.04.8.0(git hash: 6206e9f965) WOPI host: nextcloud 32.0.2.0 - richdocuments 9.0.1
Writer profiles from today's COOL weekly 20-11-2025
First profile:
Second profile:
COOLWSD version: 25.04.8.0(git hash: 6111b4564d (E)) LOKit version: Collabora Office 25.04.8.0(git hash: cc4b05f92b) WOPI host: nextcloud 32.0.2.1 - richdocuments 9.0.1
Writer: From today's Collaborative test session (25-11-25):
COOLWSD version: 25.04.8.0(git hash: 1e30014f8a (E)) LOKit version: Collabora Office 25.04.8.0(git hash: 6b419bf6ca) richdocuments 9.0.1
Writer profile from today's COOL Weekly: 27-11-25:
COOLWSD version: 25.04.8.0(git hash: 13639417ff (E)) LOKit version: Collabora Office 25.04.8.0(git hash: 40881e7dbd) WOPI host: nextcloud 32.0.2.2 - richdocuments 9.0.1
**Writer:**From today's collaborative test session, 02-12-25
Multiple users, There was 4 crashes. Still working on logs. At least one can be explained with a COOLWSD update mid testing session. Others need investigation.
First profile:
Second profile:
Third profile:
Forth profile:
Fifth profile:
COOLWSD version: 25.04.8.0(git hash: 63ab8d38af (E)) LOKit version: Collabora Office 25.04.8.0(git hash: 20f537ef87) richdocuments 9.0.1