My favorites | Sign in
Project Logo
                
New issue | Search
for
| Advanced search | Search tips
Issue 111: Measure gtk icon cache effectiveness
3 people starred this issue and may be notified of changes. Back to list
Status:  Completed
Owner:  matthias.clasen
Closed:  Feb 2008
Code
QualityAssurance
ClaimedBy-patrick.hulin


Sign in to add a comment
 
Reported by behdad.esfahbod, Jan 21, 2008
Task title: Measure gtk icon cache effectiveness

Benefits: Allows us to improve gtk icon cache if it's not effective enough.
 Proper icon caching is essential to great desktop performance.

Requirements:
- Familiarity with C programming
- Being able to build and install GTK+

Task description Consists of:

Measure icon cache effectiveness (ie how often do we render SVGs or
scale cached icons because a size is missing), desktop-wide.

That is, add some log message (g_message would do) in strategic places in
the GTK+ source code, build and install, then run GNOME Desktop using the
new GTK+ and capture the log messages from ~/.xsession-errors and save
somewhere.  Repeat for various popular themes.

Then summarize the gathered logs into informative tables and charts.

Extra: Identify a defect in the patch and a way to improve it, and write a
patch for that.

See [FurtherInformation] in the wiki for how to run and develop on GNOME
easily.

Estimated time: 7 days.

Primary contact: mclasen, behdad
Comment 2 by behdad.esfahbod, Jan 21, 2008
(No comment was entered for this change.)
Owner: matthias.clasen
Comment 3 by aantny, Jan 21, 2008
Can I use gtk 2.12 for this?
Comment 4 by behdad.esfahbod, Jan 21, 2008
Using master is preferred because mclasen recently added code to it to scale images
or render SVGs into the cache.

In fact, comparing gtk 2.12's icon cache performance to the master one should be
interesting too.  Don't forget to recreate the icon cache after switching between
versions if you do.
Comment 5 by aantny, Jan 21, 2008
I'll begin with master then.

Are there any packages that I need to build from source besides for gtk?
Comment 6 by matthias.clasen, Jan 21, 2008
Here is a patch that I have used in the past to toy with these things.
It adds syslog() calls in some central places. To extract the information,
you probably want to add some configuration like

local0.*                                                /var/log/iconstats

to your /etc/rsyslog.conf

(you also want 

$RepeatedMsgReduction off

to make sure you get all messages, even if repeated a lot)


stats.patch
1.4 KB Download
Comment 7 by behdad.esfahbod, Jan 21, 2008
You just need to recompile GTK+.
Comment 8 by matthias.clasen, Jan 21, 2008
> Using master is preferred because mclasen recently added code to it to scale images
> or render SVGs into the cache.

Actually, I didn't add it to svn, but only posted it to gtk-devel-list. It should
work equally well with any version of GTK+.
Comment 9 by aantny, Jan 21, 2008
Do you have a link to the patch?
Comment 10 by behdad.esfahbod, Jan 21, 2008
It's attached to comment 6.

If you mean the patch Matthias pointed out in comment 8, it's here:
http://mail.gnome.org/archives/gtk-devel-list/2008-January/msg00123.html
Comment 11 by aantny, Jan 21, 2008
The patch seems to be broken.

patch -p0 < stats.patch 
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -up gtk+-2.12.5/gtk/gtkicontheme.c.stats gtk+-2.12.5/gtk/gtkicontheme.c
|--- gtk+-2.12.5/gtk/gtkicontheme.c.stats       2008-01-16 01:44:10.000000000 -0500
|+++ gtk+-2.12.5/gtk/gtkicontheme.c     2008-01-16 01:43:29.000000000 -0500
--------------------------
File to patch:
Comment 12 by patrick.hulin, Jan 21, 2008
I claim this task, I guess.
Comment 13 by aantny, Jan 21, 2008
I don't think my other task will be marked as finished in time. Its all yours.
Comment 14 by behdad.esfahbod, Jan 21, 2008
Welcome.
Status: Claimed
Labels: ClaimedBy-patrick.hulin
Comment 15 by patrick.hulin, Jan 27, 2008
Sorry for the inactivity, again, schoolwork's been a big problem for me. :)

I should have some time this week and then I can work like *mad* next weekend.
Comment 16 by andre.klapper, Feb 01, 2008
everybody please note that the deadline for any tasks is february 3rd.
Comment 17 by patrick.hulin, Feb 03, 2008
Report.
report.odt
19.0 KB Download
Comment 18 by matthias.clasen, Feb 03, 2008
Patrick sent me a preliminary report containing the requested tables, and will
produce a more complete document for public consumption on gtk-devel-list later this
week.

Marking the task as complete.
Status: Completed
Comment 19 by patrick.hulin, Feb 03, 2008
Patch used to gather stats
gather.patch
2.6 KB Download
Sign in to add a comment

Hosted by Google Code