On 08/07/2021 17.01, Noel Grandin wrote:
* What’s cooking (Miklos)
+ Noel looked at UNO-level weak references, performance → found a
different solution for a11y
Our a11y is fundamentally slow because it always builds a parallel
object hierarchy of ~everything, UI and document model.
And because it makes extensive use of weak pointers, and ours are even
slower than std::weak_ptr (which is not high performance itself).
Ideally, we should be building the a11y stuff on-demand, but that it
just too deep of a change to be achievable.
I'm playing with the idea of saying:
Everything inside the soffice binary __must__ use OWeakObject and
css::uno::WeakReference to do any weak stuff.
and then I can specialise the weak object implementation into two - one
fast one for everything inside the process, and a slow one for handling
cross-process weak pointers.
weak pointers are fun, i remember spending days tracking down data races
in the implementation.
does an in-process JVM count as cross-process for this purpose?
_______________________________________________
LibreOffice mailing list
LibreOffice@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/libreoffice