[Nautilus-list] nautilus & signals ...
- From: Michael Meeks <michael ximian com>
- To: Darin Adler <darin bentspoon com>, Alex Larsson <alexl redhat com>
- Cc: nautilus <nautilus-list eazel com>
- Subject: [Nautilus-list] nautilus & signals ...
- Date: 09 Apr 2002 15:01:26 +0100
Having seen that g_signal_emitv & pthread lock / unlock are top of the
profile, I had a little poke around and discovered that the
nautilus-icon-container was used pretty much exclusively by connecting
to a load of signals for all manner of things such as comparing files
for sorting. I pruned some of the most used signals and altered the
signal profile from:
875 NautilusIconContainer::get-stored-icon-position
875 NautilusIconContainer::icon-added
961 GtkAccelLabel::parent-set
963 GtkAccelLabel::hierarchy-changed
1823 NautilusIconContainer::get-icon-images
1823 NautilusIconContainer::get-icon-text
2346 NautilusIconCanvasItem::bounds-changed
5329 GtkAccelLabel::notify
5469 NautilusIconCanvasItem::notify
10035 NautilusIconContainer::compare-icons
to:
640 GtkMenuItem::notify
797 GtkLabel::style-set
808 GtkImageMenuItem::add
922 NautilusIconCanvasItem::destroy
954 GtkAccelLabel::show
1086 GtkImageMenuItem::notify
1140 NautilusVFSFile::destroy
1390 GtkAccelLabel::destroy
1478 GtkImage::notify
1717 GtkLabel::notify
2061 GtkAccelLabel::parent-set
2063 GtkAccelLabel::hierarchy-changed
3201 NautilusIconCanvasItem::notify
9750 GtkAccelLabel::notify
Although these results are broadly incomparable, since they're for
different periods :-) either way - it seems clear that we win a lot by a
large signal emission reduction ( and commensurate locking penalties ),
but it's also clear that the 'notify' business is very painful indeed.
It looks like a lot of that is in the UI handler, but quite why / where
is somewhat of a mystery to me, since we only have:
1 BonoboUIXml::reinstate
29 BonoboUIXml::override
101 BonoboUIXml::remove
220 BonoboUIXml::replace-override
Anyway; hopefully that'll give a speed win / make other things more
apparent, appearances are so deceptive when it's that fast already.
Regards,
Michael.
--
mmeeks gnu org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]