online icon indicating copy to clipboard operation
online copied to clipboard

generic 25.04 writer performance ticket

Open jazevedo-coll opened this issue 8 months ago • 24 comments

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)

Image

cc: @mmeeks @timar @caolanm @eszkadev

jazevedo-coll avatar Apr 22 '25 11:04 jazevedo-coll

cc @annanazarayan

jazevedo-coll avatar Apr 22 '25 12:04 jazevedo-coll

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)

Image

jazevedo-coll avatar Apr 24 '25 11:04 jazevedo-coll

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:

Image

Short, 8 page: "Hello world" document:

Image

jazevedo-coll avatar Apr 30 '25 10:04 jazevedo-coll

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)

Image

jazevedo-coll avatar May 07 '25 10:05 jazevedo-coll

From today's collaborative Writer test session on staging perf 12-05-25:

It was a short test.

First profile

Image

Second profile

Image

jazevedo-coll avatar May 12 '25 10:05 jazevedo-coll

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)

Image

jazevedo-coll avatar May 22 '25 11:05 jazevedo-coll

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)

Image

jazevedo-coll avatar May 27 '25 12:05 jazevedo-coll

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)

Image

jazevedo-coll avatar Jul 10 '25 11:07 jazevedo-coll

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.

caolanm avatar Jul 10 '25 16:07 caolanm

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: Image

Second profile: Image

jazevedo-coll avatar Jul 15 '25 11:07 jazevedo-coll

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.

Image

jazevedo-coll avatar Jul 17 '25 11:07 jazevedo-coll

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.

Image

jazevedo-coll avatar Jul 24 '25 11:07 jazevedo-coll

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:

Image

Second profile:

Image

jazevedo-coll avatar Jul 29 '25 12:07 jazevedo-coll

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.

Image

jazevedo-coll avatar Jul 31 '25 11:07 jazevedo-coll

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.

Image

jazevedo-coll avatar Aug 07 '25 11:08 jazevedo-coll

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:

Image

Second profile:

Image

jazevedo-coll avatar Sep 04 '25 11:09 jazevedo-coll

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

Image

This is the cool weekly file, where testers reported the file was slow.

Bellow is a different test file, that testers also reported slow:

Image

jazevedo-coll avatar Nov 13 '25 12:11 jazevedo-coll

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

caolanm avatar Nov 13 '25 13:11 caolanm

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 :-)

mmeeks avatar Nov 13 '25 14:11 mmeeks

From today's collaborative test session 18-11-2025

Image

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

jazevedo-coll avatar Nov 18 '25 13:11 jazevedo-coll

Writer profiles from today's COOL weekly 20-11-2025

First profile:

Image

Second profile:

Image

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

jazevedo-coll avatar Nov 20 '25 12:11 jazevedo-coll

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

Image

jazevedo-coll avatar Nov 25 '25 12:11 jazevedo-coll

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

Image

jazevedo-coll avatar Nov 27 '25 12:11 jazevedo-coll

**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:

Image

Second profile:

Image

Third profile:

Image

Forth profile:

Image

Fifth profile:

Image

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

jazevedo-coll avatar Dec 02 '25 13:12 jazevedo-coll