Skip to content

lib: allow XbSilo to cache various XbQuery

Christian Hergert requested to merge wip/chergert/cache-queries into main

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 GErrors.

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

Merge request reports