RE: Goals for 2.10 - desktop-wide profiling



tir, 21,.09.2004 kl. 19.10 -0700, skrev Eugenia Loli-Queru:
> > Now that 2.8 is out, it's time to set off for 2.10 goals. One of the
> > issues I'd particularly like to see addressed is current GNOME's
> > unfriendliness towards low-mem setups[1]. There are still very common[2]
> > machines with 128MB or 64MB of RAM, especially in corporate
> > environments. It's a shame they cannot be used to host GNOME,
> 
So, maybe it's time to force everyone to boot with mem=128M and live
with it for a couple of weeks? :)

> I am with you on this one Maciej. Currently, Gnome is marginally usable on 
> 128 MBs for basic tasks (if you have to have OOo, web browser or Evolution 
> open it is not usable). I know first hand, one of my machines had 128 MBs of 
> RAM and it was /just/ loadable, while Fedora really needs 192+ MBs, even if 
> at this time XP still requires 128 MB and Win98 64 MB (sure, Fedora is newer 
> than these OSes, but that doesn't mean that they don't still compete in the 
> corporate space).
> 
Yeah, most large companies spend years getting rid of old stuff. I know
we've still got Windows 9x and NT4 machines in abundance.

> And some GTK+ speed profiling wouldn't hurt either. Gnome-applets are using 
> lots of memory too. All these issues are very common discussed on forums by 
> gnome users, I think it's time the gnome core devs to listen and be 
> realistic about it and start profiling.
> 
I fired up valgrind using the heap profiling tool there just to get a
birds eye view on where allocations happen and it seems font handling
and icon themes are the major offenders there. There was some talk about
making icon theme formats better by using some packing technique or
something but I don't know if anything materialized.

Output from massif is attached, though it's just from opening and
closing gnome-calculator...

> There was a time where the Linux desktop (with KDE/Gnome, in 1999) was 
> pitched as "lightweight" compared to Windows 2000 and Win98/ME. But this is 
> not the case anymore for the last 2+ years and the Linux corporate desktop 
> could be gaining advantages if KDE/Gnome were more optimized.
> 
> >Perhaps this would be assisted by establishing a performance or 
> >optimisation team...
> 
> That's an excellent idea Jeff. :)
> 
I'm in.

Cheers
Kjartan

Attachment: massif.6758.ps
Description: PostScript document

Command: gnome-calculator 

== 0 ===========================
Heap allocation functions accounted for 83.3% of measured spacetime

Called from:
  49.4% : 0x50A762: g_malloc (in /usr/lib/libglib-2.0.so.0.400.6)

  10.3% : 0x50A7CF: g_malloc0 (in /usr/lib/libglib-2.0.so.0.400.6)

   4.9% : 0x50A83B: g_realloc (in /usr/lib/libglib-2.0.so.0.400.6)

   2.7% : 0x3F5B3C: (within /usr/lib/libfreetype.so.6.3.7)

   2.4% : 0x80627E7: main (gtk.c:405)

   2.3% : 0x3ADE4A5B: __gconv_open (gconv_open.c:282)

   1.8% : 0x3ADF181C: __dcigettext (dcigettext.c:622)

   1.1% : 0x2FC825: XOpenDisplay (in /usr/X11R6/lib/libX11.so.6.2)

   0.9% : 0x49AD19: FcPatternFreeze (in /usr/lib/libfontconfig.so.1.0.4)

   0.8% : 0x49B150: FcPatternAddWithBinding (in /usr/lib/libfontconfig.so.1.0.4)

   0.6% : 0x2E8058: (within /usr/X11R6/lib/libX11.so.6.2)

   0.5% : 0x49ABD4: FcPatternFreeze (in /usr/lib/libfontconfig.so.1.0.4)

  and 292 other insignificant places

== 1 ===========================
Context accounted for 49.4% of measured spacetime
  0x50A762: g_malloc (in /usr/lib/libglib-2.0.so.0.400.6)

Called from:
  22.5% : 0x5190E5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)

  20.0% : 0x50B85C: g_mem_chunk_alloc (in /usr/lib/libglib-2.0.so.0.400.6)

   0.8% : 0x6641A3: g_closure_new_simple (in /usr/lib/libgobject-2.0.so.0.400.6)

   0.7% : 0x4FA055: g_hash_table_new_full (in /usr/lib/libglib-2.0.so.0.400.6)

   0.6% : 0x4FA01E: g_hash_table_new_full (in /usr/lib/libglib-2.0.so.0.400.6)

   0.6% : 0x3AB4E021: ??? (gtkicontheme.c:1926)

  and 207 other insignificant places

---------------------------------
Context accounted for 10.3% of measured spacetime
  0x50A7CF: g_malloc0 (in /usr/lib/libglib-2.0.so.0.400.6)

Called from:
   2.9% : 0x4FA516: (within /usr/lib/libglib-2.0.so.0.400.6)

   2.6% : 0x682092: g_type_create_instance (in /usr/lib/libgobject-2.0.so.0.400.6)

   1.0% : 0x3AB4E31B: ??? (gtkicontheme.c:1733)

   1.0% : 0x681389: g_type_class_ref (in /usr/lib/libgobject-2.0.so.0.400.6)

   0.5% : 0x67E3DD: (within /usr/lib/libgobject-2.0.so.0.400.6)

  and 103 other insignificant places

---------------------------------
Context accounted for  4.9% of measured spacetime
  0x50A83B: g_realloc (in /usr/lib/libglib-2.0.so.0.400.6)

Called from:
   2.1% : 0x51C14B: (within /usr/lib/libglib-2.0.so.0.400.6)

   0.5% : 0x4EDDC4: (within /usr/lib/libglib-2.0.so.0.400.6)

  and 60 other insignificant places

---------------------------------
Context accounted for  2.7% of measured spacetime
  0x3F5B3C: (within /usr/lib/libfreetype.so.6.3.7)

Called from:
   2.7% : 0x3F5F2A: FT_Alloc (in /usr/lib/libfreetype.so.6.3.7)

---------------------------------
Context accounted for  2.4% of measured spacetime
  0x80627E7: main (gtk.c:405)

Called from:
   2.4% : 0x3ADE3AB2: __libc_start_main (libc-start.c:209)

---------------------------------
Context accounted for  2.3% of measured spacetime
  0x3ADE4A5B: __gconv_open (gconv_open.c:282)

Called from:
   2.3% : 0x3ADE4594: iconv_open (iconv_open.c:54)

---------------------------------
Context accounted for  1.8% of measured spacetime
  0x3ADF181C: __dcigettext (dcigettext.c:622)

Called from:
   1.8% : 0x3ADF0A0C: __dcgettext_internal (dcgettext.c:53)

---------------------------------
Context accounted for  1.1% of measured spacetime
  0x2FC825: XOpenDisplay (in /usr/X11R6/lib/libX11.so.6.2)

Called from:
   1.1% : 0x3AD4E693: gdk_display_open (gdkdisplay-x11.c:153)

---------------------------------
Context accounted for  0.9% of measured spacetime
  0x49AD19: FcPatternFreeze (in /usr/lib/libfontconfig.so.1.0.4)

Called from:
   0.9% : 0x48DE35: (within /usr/lib/libfontconfig.so.1.0.4)

---------------------------------
Context accounted for  0.8% of measured spacetime
  0x49B150: FcPatternAddWithBinding (in /usr/lib/libfontconfig.so.1.0.4)

Called from:
   0.8% : 0x49B2BB: FcPatternAdd (in /usr/lib/libfontconfig.so.1.0.4)

---------------------------------
Context accounted for  0.6% of measured spacetime
  0x2E8058: (within /usr/X11R6/lib/libX11.so.6.2)

Called from:
   0.6% : 0x2E82B8: _XrmInternalStringToQuark (in /usr/X11R6/lib/libX11.so.6.2)

---------------------------------
Context accounted for  0.5% of measured spacetime
  0x49ABD4: FcPatternFreeze (in /usr/lib/libfontconfig.so.1.0.4)

Called from:
   0.5% : 0x48DE35: (within /usr/lib/libfontconfig.so.1.0.4)

== 2 ===========================
Context accounted for 22.5% of measured spacetime
  0x50A762: g_malloc (in /usr/lib/libglib-2.0.so.0.400.6)
  0x5190E5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)

Called from:
  17.9% : 0x3AB4E1FD: ??? (gtkicontheme.c:1841)

   0.7% : 0x3AB4E2FA: ??? (gtkicontheme.c:1729)

   0.7% : 0x66DF6B: g_param_spec_internal (in /usr/lib/libgobject-2.0.so.0.400.6)

   0.6% : 0x4F4CFF: g_quark_from_string (in /usr/lib/libglib-2.0.so.0.400.6)

  and 171 other insignificant places

---------------------------------
Context accounted for 20.0% of measured spacetime
  0x50A762: g_malloc (in /usr/lib/libglib-2.0.so.0.400.6)
  0x50B85C: g_mem_chunk_alloc (in /usr/lib/libglib-2.0.so.0.400.6)

Called from:
  15.8% : 0x4FAE0C: (within /usr/lib/libglib-2.0.so.0.400.6)

   1.8% : 0x50B940: g_mem_chunk_alloc0 (in /usr/lib/libglib-2.0.so.0.400.6)

   0.5% : 0x5013AA: g_list_prepend (in /usr/lib/libglib-2.0.so.0.400.6)

  and 18 other insignificant places

---------------------------------
Context accounted for  0.8% of measured spacetime
  0x50A762: g_malloc (in /usr/lib/libglib-2.0.so.0.400.6)
  0x6641A3: g_closure_new_simple (in /usr/lib/libgobject-2.0.so.0.400.6)

Called from:
   0.5% : 0x665539: g_cclosure_new (in /usr/lib/libgobject-2.0.so.0.400.6)

  and 3 other insignificant places

---------------------------------
Context accounted for  0.7% of measured spacetime
  0x50A762: g_malloc (in /usr/lib/libglib-2.0.so.0.400.6)
  0x4FA055: g_hash_table_new_full (in /usr/lib/libglib-2.0.so.0.400.6)

Called from:
   0.5% : 0x3AB4E0AB: ??? (gtkicontheme.c:1812)

  and 12 other insignificant places

---------------------------------
Context accounted for  0.6% of measured spacetime
  0x50A762: g_malloc (in /usr/lib/libglib-2.0.so.0.400.6)
  0x4FA01E: g_hash_table_new_full (in /usr/lib/libglib-2.0.so.0.400.6)

Called from:
   0.5% : 0x3AB4E0AB: ??? (gtkicontheme.c:1812)

  and 12 other insignificant places

---------------------------------
Context accounted for  0.6% of measured spacetime
  0x50A762: g_malloc (in /usr/lib/libglib-2.0.so.0.400.6)
  0x3AB4E021: ??? (gtkicontheme.c:1926)

Called from:
   0.5% : 0x3AB4E733: ??? (gtkicontheme.c:924)

  and 1 other insignificant place

---------------------------------
Context accounted for  2.9% of measured spacetime
  0x50A7CF: g_malloc0 (in /usr/lib/libglib-2.0.so.0.400.6)
  0x4FA516: (within /usr/lib/libglib-2.0.so.0.400.6)

Called from:
   2.0% : 0x3AB4E242: ??? (gtkicontheme.c:1846)

  and 26 other insignificant places

---------------------------------
Context accounted for  2.6% of measured spacetime
  0x50A7CF: g_malloc0 (in /usr/lib/libglib-2.0.so.0.400.6)
  0x682092: g_type_create_instance (in /usr/lib/libgobject-2.0.so.0.400.6)

Called from:
   2.6% : 0x6695A0: (within /usr/lib/libgobject-2.0.so.0.400.6)

  and 1 other insignificant place

---------------------------------
Context accounted for  1.0% of measured spacetime
  0x50A7CF: g_malloc0 (in /usr/lib/libglib-2.0.so.0.400.6)
  0x3AB4E31B: ??? (gtkicontheme.c:1733)

Called from:
   0.8% : 0x3AB4E8BF: ??? (gtkicontheme.c:961)

  and 1 other insignificant place

---------------------------------
Context accounted for  1.0% of measured spacetime
  0x50A7CF: g_malloc0 (in /usr/lib/libglib-2.0.so.0.400.6)
  0x681389: g_type_class_ref (in /usr/lib/libgobject-2.0.so.0.400.6)

Called from:
  9 insignificant places

---------------------------------
Context accounted for  0.5% of measured spacetime
  0x50A7CF: g_malloc0 (in /usr/lib/libglib-2.0.so.0.400.6)
  0x67E3DD: (within /usr/lib/libgobject-2.0.so.0.400.6)

Called from:
  2 insignificant places

---------------------------------
Context accounted for  2.1% of measured spacetime
  0x50A83B: g_realloc (in /usr/lib/libglib-2.0.so.0.400.6)
  0x51C14B: (within /usr/lib/libglib-2.0.so.0.400.6)

Called from:
   2.0% : 0x51C6BD: g_string_insert_len (in /usr/lib/libglib-2.0.so.0.400.6)

  and 2 other insignificant places

---------------------------------
Context accounted for  0.5% of measured spacetime
  0x50A83B: g_realloc (in /usr/lib/libglib-2.0.so.0.400.6)
  0x4EDDC4: (within /usr/lib/libglib-2.0.so.0.400.6)

Called from:
  4 insignificant places

---------------------------------
Context accounted for  2.7% of measured spacetime
  0x3F5B3C: (within /usr/lib/libfreetype.so.6.3.7)
  0x3F5F2A: FT_Alloc (in /usr/lib/libfreetype.so.6.3.7)

Called from:
   1.3% : 0x419080: (within /usr/lib/libfreetype.so.6.3.7)

  and 34 other insignificant places

---------------------------------
Context accounted for  2.4% of measured spacetime
  0x80627E7: main (gtk.c:405)
  0x3ADE3AB2: __libc_start_main (libc-start.c:209)

Called from:
   2.4% : 0x804F3B0: (within /usr/bin/gcalctool)

---------------------------------
Context accounted for  2.3% of measured spacetime
  0x3ADE4A5B: __gconv_open (gconv_open.c:282)
  0x3ADE4594: iconv_open (iconv_open.c:54)

Called from:
   2.3% : 0x4F11B9: (within /usr/lib/libglib-2.0.so.0.400.6)

---------------------------------
Context accounted for  1.8% of measured spacetime
  0x3ADF181C: __dcigettext (dcigettext.c:622)
  0x3ADF0A0C: __dcgettext_internal (dcgettext.c:53)

Called from:
  618 insignificant places

---------------------------------
Context accounted for  1.1% of measured spacetime
  0x2FC825: XOpenDisplay (in /usr/X11R6/lib/libX11.so.6.2)
  0x3AD4E693: gdk_display_open (gdkdisplay-x11.c:153)

Called from:
   1.1% : 0x3AD2F3DC: gdk_display_open_default_libgtk_only (gdk.c:403)

---------------------------------
Context accounted for  0.9% of measured spacetime
  0x49AD19: FcPatternFreeze (in /usr/lib/libfontconfig.so.1.0.4)
  0x48DE35: (within /usr/lib/libfontconfig.so.1.0.4)

Called from:
   0.9% : 0x48F2AB: FcDirCacheReadDir (in /usr/lib/libfontconfig.so.1.0.4)

---------------------------------
Context accounted for  0.8% of measured spacetime
  0x49B150: FcPatternAddWithBinding (in /usr/lib/libfontconfig.so.1.0.4)
  0x49B2BB: FcPatternAdd (in /usr/lib/libfontconfig.so.1.0.4)

Called from:
  9 insignificant places

---------------------------------
Context accounted for  0.6% of measured spacetime
  0x2E8058: (within /usr/X11R6/lib/libX11.so.6.2)
  0x2E82B8: _XrmInternalStringToQuark (in /usr/X11R6/lib/libX11.so.6.2)

Called from:
   0.6% : 0x2E8600: XrmStringToQuark (in /usr/X11R6/lib/libX11.so.6.2)

---------------------------------
Context accounted for  0.5% of measured spacetime
  0x49ABD4: FcPatternFreeze (in /usr/lib/libfontconfig.so.1.0.4)
  0x48DE35: (within /usr/lib/libfontconfig.so.1.0.4)

Called from:
   0.5% : 0x48F2AB: FcDirCacheReadDir (in /usr/lib/libfontconfig.so.1.0.4)

=================================

End of information.  Rerun with a bigger --depth value for more.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]