[Libosinfo] [RFC PATCH 0/5] various optimizations

Giuseppe Scrivano gscrivan at redhat.com
Tue Jun 3 14:08:07 UTC 2014


libosinfo takes quite a while to preload its data, it was evident in
virt-manager that the UI became much slower.  This series is mostly
targeted at starting a discussion about this issue.

I thought about caching the data in another format, that could be used
instead of XML without preloading the entire DB at the startup, but it
seems like a big task considering the various relations between
objects at runtime.

I am not sure if patch 5/5 is correct (does the lang function in the
xpath query use gettext?).

With the following patches, the startup time is around -30% on my
machine.  What do you think about these changes?  Any other ideas?

Giuseppe Scrivano (5):
  entity: use g_hash_table_replace instead of remove+insert
  osinfo_loader: avoid multiple calls to OSINFO_ENTITY
  osinfo_loader: introduce a compiled xpaths cache
  osinfo_loader: replace some xpath queries with direct data access
  osinfo_loader: do not use xpath to read localized strings

 osinfo/osinfo_entity.c |   5 +-
 osinfo/osinfo_loader.c | 287 +++++++++++++++++++++++--------------------------
 2 files changed, 139 insertions(+), 153 deletions(-)

-- 
1.9.3




More information about the Libosinfo mailing list