xmlreader is fast XML pull parser ?
Michael Meeks
michael.meeks at collabora.com
Tue May 10 13:38:34 UTC 2016
On Tue, 2016-05-10 at 13:49 +0200, Eike Rathke wrote:
> On Monday, 2016-05-09 11:38:25 +0800, LGH710681042 at gmail.com wrote:
> > I know xmlreader is currently used by configmgr, when we start up LO, configmgr
> > will parse *.xcd files in /share/registry directory. It will takes several seconds.
> > so i guess that xmlreader is not real fast, i want to know how can we optimize the speed of parsing files?
>
> Run with callgrind and investigate with kcachegrind where the actual
> bottle necks are.
Having done this in the past (and make sure you don't use a dbgutil
build - since this makes xmlreader very much slower than other pieces
due to the nice assertions in it) - there are a few obvious things:
* configmgr XML uses multiple namespaces
+ this makes the XML bigger and much slower to parse
+ supposedly this helps with DTDs (or something) but ...
* configmgr XML parsing is single threaded
+ it would be far more ideal to parse in multiple
threads, even phones have spare un-used threads these
days.
+ however this needs some care with code-structure and
layering.
Beyond that, I've spent a little while reading the code there, side by
side with the profile and looking for obvious sillies without great
success =)
HTH,
Michael.
--
michael.meeks at collabora.com <><, Pseudo Engineer, itinerant idiot
More information about the LibreOffice
mailing list