Re: Removing xrdb for 10% startup win?




My gut reaction is that you should disable it now, and reenable/cache xrdb if user response is negative. This way you could focus on other ways to speedup the desktop launch, possibly providing other major wins.

The Return on Happiness (ROH) is much higher for speeding up 95% of our users a non-trivial amount, versus the 5% who would have us maintain the status quo of xrdb.

-Alex

Lorenzo Colitti wrote:
Hi,

For my Summer of Code project (mentor: Owen Taylor) I am working on improving gnome startup time. Proof-of-concept work on gconf has already succeded in reducing boot time from ~35 to ~20 seconds, showing that there is room for improvement.

Moving down the list of top culprits, my benchmarks show that xrdb (and the cpp it spawns) to be one of the worst, and indeed symlinking xrdb to /bin/true results in a ~10% reduction in startup time.

xrdb is called by gnome-settings-daemon in order to make the colours of X applications match the standard GTK theme and to merge in user settings from .Xdefaults, .Xresources and .gnome2/xrdb/* :

http://cvs.gnome.org/viewcvs/gnome-control-center/gnome-settings-daemon/gnome-settings-xrdb.c?rev=1.5&view=markup

I was thinking of implementing a cache for xrdb, but in discussion on IRC some people also suggested that xrdb should either be turned off by default (using a gconf key) or should be made less flexible, e.g. by not supporting #define statements in user files. Since there's no point in me implementing a cache if this code is going to get turned off anyway, I'm posting this here for opinions.

The argument for removing xrdb altogether is that users that are putting #define statements in .Xdefaults or .Xresources are (a) rare, (b) probably non relying on gnome to call xrdb for them, and (c) savvy enough to fix the problem if they are.

Thoughts? Should xrdb be turned off by default?


Cheers,
Lorenzo
_______________________________________________
desktop-devel-list mailing list
desktop-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list




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