I have been looking into the question `where does gnome-settings-daemon use all of that memory'. After putting valtrind on it (which was no easy task, given how bonoboized it is), I found that gstreamer was allocating a whopping 300 kb at desktop startup.
What it seemed to be doing was loading some large xml (bloat sign #1: large xml document) on initialization (bloat sign #2: said large documents loaded at startup), copying it to memory (bloat sign #3: said large documents being copied with malloc).
Federico encourged me to find out exactly why this was happening. What I found simply shocked me.
We were using this in a file called `acme-volume-gstreamer.c'. Yes, we are loading 300 kb of data from an xml file at bootup time to control the volume of the computer.
In other news, gstreamer and gnome-settings-daemon are not the only bloatware on the block. Some of the glutinous usages of memory found over the weekend include:
* Bonobo loading the entire (read 80 kb) locale.alias file into 100 kb of ram for every program that uses it
* gnome-vfs initing the mime system in gnome-settings-daemon, causing ~ 160 kb of allocations, just to find out who handles `text/plain'
* Nautilus keeping two copies of the desktop background in ram (on NLD it costs about 13 mb to have a desktop background, over a plain color).
* Nautilus keeping a few 100 kb of data stored in xml files as is parsed by libxml2 (aka, bloated storage format [TM])
* The clock, wnck, and notification applet being run out of process, costing 1 MB each due to startup costs of misc libraries
The list goes on.
Lets fix this shit once 2.10 gets released.
This is great! My deepest congrats Ben!
200409 200412 200501 200502 200503 200504 200505 200506 200507 200508 200509 200510 200511 200512 200601 200602 200603 200604 200605 200606 200607 200608 200609 200610 200611 200612 200701 200702 200703 200704 200705 200707 200708 200709 200710 200711 200712 200801 200802 200803 200804 200805 200806 200807 200808 200809 200810 200811 200812 200901 200902 200903 200904 200905 200906 200907 200908 200909 200912 201001 201002 201003 201004 201007 201009 201011 201102
Subscribe to Posts [Atom]