Removing xrdb for 10% startup win?


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/* :

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?


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