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

Daniel P. Berrange berrange at redhat.com
Tue Jun 3 14:57:25 UTC 2014


On Tue, Jun 03, 2014 at 04:51:14PM +0200, Giuseppe Scrivano wrote:
> "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);

So that basically comes down to the performance of the hash
table inserts. I wonder if we could make use of GQuark and/or
g_intern_string so that the hash table lookup can do a straight
pointer or int comparison, instead of strcmp. }?

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the Libosinfo mailing list