constto lots of data tables. It trims the 92 kb of dirty private rss down to 8 kb, saving just under 2 mb desktop wide! Jason: this patch is great. Let's get it upstream, and also try to get the next round of distros (suse 10.1, dapper, fc5) to include this.
There are quite a few other libraries that are used by almost every GNOME process that could benefit from such constification. Some I saw from gnome-terminal:
48 kb 0 kb 48 kb /usr/lib/libORBit-2.so.0.1.0 40 kb 0 kb 40 kb /usr/lib/libbonobo-2.so.0.0.0 36 kb 0 kb 36 kb /usr/lib/libgtk-x11-2.0.so.0.800.16 36 kb 0 kb 28 kb /usr/lib/libxml2.so.2.6.23 24 kb 0 kb 24 kb /usr/lib/libgnutls.so.12.3.6 20 kb 0 kb 20 kb /usr/lib/libasound.so.2.0.0 20 kb 0 kb 20 kb /usr/lib/libfontconfig.so.1.0.4 20 kb 0 kb 20 kb /usr/lib/libgnomevfs-2.so.0.1400.0 20 kb 0 kb 16 kb /usr/lib/libgcrypt.so.11.2.1 16 kb 0 kb 16 kb /usr/lib/libX11.so.6.2.0 16 kb 0 kb 16 kb /usr/lib/libgnomeui-2.so.0.1400.0
Fixing one of these libraries will have the benefit multiplied by about 20.
We should also consider is reducing the number of processes on the desktop. For example, clock-applet takes up 2.7 MB of private dirty rss. 1.7 MB of this is the heap and stack, the other MB is the .data section of .so files. For the most part, these are constant costs we are going to experience with any process. Reducing the number of processes will reduce this problem.