diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-06-26 15:19:36 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-06-28 12:47:35 +0200 |
commit | 47e04cf31c6165dd55dc20962ad9c72962b958bd (patch) | |
tree | c8c996c05d9fd8e2f611d5accc280678bcabd0de /offapi/UnoApi_offapi.mk | |
parent | b399dba597c90777c0edf2c5b19d029b3bff23df (diff) |
tdf#125706 and tdf#125665 writer, speed up RDF
The RDF stuff is sloooooooow, so (a) add some caching and (b) fold a
very hot UNO_QUERY call.
To add the caching we need to add a new UNO interface, since
XEnumeration is not amenable to being cached.
Add an optimised getStatementsGraph_NoLock2 that skips the intermediate
enumeration object, and consequently a lot of locking/unlocking.
Cache by OUString key, to avoid expensive OUString<->OString conversion
when looking up entries in the cache.
For the test document in tdf#125706, this takes the time from 7s to 5s for me.
For the test document in tdf#125665, this takes the load time
from 60s to 7s for me.
Change-Id: I207387e975b4f107834edd0974134c481fb4012d
Reviewed-on: https://gerrit.libreoffice.org/74740
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'offapi/UnoApi_offapi.mk')
-rw-r--r-- | offapi/UnoApi_offapi.mk | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk index c86e7d5a7800..8a567218dec1 100644 --- a/offapi/UnoApi_offapi.mk +++ b/offapi/UnoApi_offapi.mk @@ -2981,6 +2981,7 @@ $(eval $(call gb_UnoApi_add_idlfiles,offapi,com/sun/star/rdf,\ XLiteral \ XMetadatable \ XNamedGraph \ + XNamedGraph2 \ XNode \ XQuerySelectResult \ XReifiedStatement \ |