generic writer performance ticket
placeholder to track weekly writer profiles
@mmeeks @grandinj Seeing as I generally get a writer profile once a week, I'll stash it here regularly.
This weeks writer profile:
Looks to me like we've got some galloping invalidation problem that is causing lots of tiles to be rendered un-necessarily. I would expect to see the event handling, spell-checking, editing of the document etc. to be a much larger proportion of the cost cf. a more normal profile like this from mid July:
About 20 minutes in writer. AsynchronousCall::Sync call seems to have emerged as a big cost. @vmiklos maybe https://gerrit.libreoffice.org/c/core/+/161952 is a problem there after all. Or @eszkadev had another theory related to sidebar appearing when it shouldn't
This probably is regression from my recent commit, have fix for it: https://github.com/CollaboraOnline/online/pull/8092
I hope that the above helps; setting the language/locale is meant to be cheap, so I would be a bit puzzled in case doing that would have performance impact. But I haven't measured.
This weeks writer profile
This weeks writer profile
todays ad-hoc test, most longer document than usual (86 pages) heavy with images
Hmm; I'm surprised to see the DrawBitmapEx doing that slowish clip/composite path; is there some rotation or other going on there? trace is a bit odd too, might be nice to have a sample doc with the image in it attached; I wonder if Armin has any ideas. Still lots of time in the PaintBaBo and PaintBorderAndShadow which seems to be doing something un-necessary with an alpha bitmap too =)
todays writer profile
Today's uneventful writer session
Hopefully the ~8%+ of doc_setView cost is gone in 24.04 with the fix there (?)
Todays writer flamegraph
Ah hoc writer test
SwEditShell::GetWaterMark is a surprising new appearance there
~18% of the time in GetWaterMark is indeed interesting; and it seems there is far too much invalidation & re-layout going on playing with the document.
This weeks regular writer profile
I'll put writer 24.04 flamegraphs at: https://github.com/CollaboraOnline/online/issues/8571
Todays (23.05) writer profile
That's quite encouragingly sensible; I guess - at least this looks plausibly like what I would expect us to do; clearly shrinking each piece is good but overall it looks balanced enough ? =)
Nothing terrible, but it was a simple session. Maybe ApplyViewOptions is a little suspicious, and presumably the xor stuff under that is from a blinking cursor which is presumably the kind of thing that doesn't need to happen in kit-mode.
fairly unremarkable 23.05 writer session perf-wise I think