Caolan
- crashtesting, a CellAttributeHelper related problem
→ https://gerrit.libreoffice.org/c/core/+/182743 - memory optimization
- tcmalloc + pprof + flamegraph to analyze what is
consuming memory
→ pprof has a (undocumented?, not in my man page anyway, but it
works) --collapsed option to turn its output into something
suitable for flamegraph, so
pprof --collapsed coolforkit-ns /tmp/kitheap.heap |
flamegraph.pl --color=mem
gives useful output - liblangtag uses a lot of memory to create a hashmap-alike thing
but we create that during preload already, so can put that aside. - can see that long-lived list/comboboxes retain a surprisingly
large amount of memory. Some VirtualDevice, and some GlyphCache - deltas generation requires space
- table autoformat relating things notable in writer mem profile
- memory optimization
tcmalloc vs glibc, a decent “Private” memory size saving in favor
of tcmalloc for small and large sample writer+calc documents - see if any of the tcmalloc hooks could be used to redirect
pre-fork/preload allocations to some specific pages so those could
be left entirely untouched by later allocations/metadata-writes - doesn’t look possible to me with what’s on offer, maybe doable by
trying a similar approach though. - websocket not seen as closed by client when permission denied
→ call onFinishCallback on early error cases too by caolanm · Pull Request #11326 · CollaboraOnline/online · GitHub - odd crash seen in crash emails, as if mutex use before init
→ https://github.com/CollaboraOnline/online/pull/11323 - bootstrap demo reuse of character sidebar panel for chart
- Typically its the toplevel “XFrame” that is seen, not the one
belonging to embededed things like the chart (and math?) which
is actually active
→ https://gerrit.libreoffice.org/c/core/+/182878/1 - And then there is a problem where existing panels are
“recycled”, but remain bound to the original XFrame, so that
complicates things, but for proof of concept bodge around that
and then chart gets the commands and queries from the panel
→ https://gerrit.libreoffice.org/c/core/+/182879/1 - memory optimization
- fix merge conflict for pahole work and merge
- memory optimization
→ https://gerrit.libreoffice.org/c/core/+/182927 to disable
double-buffer thing for combo/list boxes for online - SwTableAutoFormat DefaultBoxFormat is large and we will
always end up calling getStyle in a document, so we could
create that during preload
→ https://gerrit.libreoffice.org/c/core/+/182972 - but there are still near-duplicates of that created, so more
thought needed to do something more useful there.
Chris
- Work on mmeeks’ patch - #11255 - don’t free tile canvases, but queue them for re-use (PR #11304)
Next:
- Scrolling in Firefox on a 4k monitor is very slow
- Sidebar reopening Triggers double canvas in Impress and Draw
Mike
- Calc slow with Select All
- Is this because of too many columns allocated?
- The document has formatting for about the whole area, excluding parts of several last columns
- Created https://gerrit.libreoffice.org/c/core/+/182930
- Preparing a patch to check if changing last columns’ formatting actually changes them compared to the unallocated default, to avoid their allocation
- This doesn’t help, allocation still happens, the check only takes more time
- Prepared a sample that has only a few columns
- The problem is still reproducible
- Several problems:
- Unneeded height calculation for preview (need to avoid that for font preview)
- Unneeded column allocation (still debugging)
- The height recalculation happens several times
- Working on a patch for the first problem (SID_ATTR_CHAR_PREVIEW_FONT / ScViewFunc::UpdateSelectionArea)
Miklos
Finished work on https://github.com/CollaboraOnline/online/issues/11226