[Libosinfo] [RFC PATCH 0/5] various optimizations
Giuseppe Scrivano
gscrivan at redhat.com
Tue Jun 3 14:51:14 UTC 2014
"Daniel P. Berrange" <berrange at redhat.com> writes:
> I'd suggest using oprofile or sysprof to collect data on exactly
> where our cputime is disappearing to before trying to optimize
> further.
I've seen that creating and accessing many gobjects, as this chunk of
code in osinfo_loader.c does, takes a lot of cputime:
OsinfoDevice *dev = osinfo_loader_get_device(loader, id);
osinfo_entity_set_param(OSINFO_ENTITY(dev),
OSINFO_DEVICE_PROP_VENDOR_ID,
vendor_id);
osinfo_entity_set_param(OSINFO_ENTITY(dev),
OSINFO_DEVICE_PROP_VENDOR,
vendor);
osinfo_entity_set_param(OSINFO_ENTITY(dev),
OSINFO_DEVICE_PROP_PRODUCT_ID,
device_id);
osinfo_entity_set_param(OSINFO_ENTITY(dev),
OSINFO_DEVICE_PROP_PRODUCT,
device);
osinfo_entity_set_param(OSINFO_ENTITY(dev),
OSINFO_DEVICE_PROP_BUS_TYPE,
busType);
I am not sure how to optimize this part, I will look if I can avoid
somehow the preloading of the entire devices DB.
Regards,
Giuseppe
More information about the Libosinfo
mailing list