[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