lib: allow XbSilo to cache various XbQuery
Ensure we cache a bit more of the XbQuery.
Additionally, this avoids using GError
in some places that will cause XbStack
and XbMachine
to do a lot more work creating/free'in GError
s.
There is definitely an opportunity to make our use of libxmlb faster, particularly if we have an new function in libxmlb to do xb_node_query_attr()
with using a cached XbQuery
. Beyond that, there are a lot of xb_node_query()
not using cached queries still which should probably be improved.
xb_query_new()
is still easily >1%
of CPU time and about another .5%
if you include the g_object_unref()
finalizer time. I'd expect those to mostly go away if we could more accurately re-use cached XbQuery
from the silo.
Edited by Christian Hergert