castanyes blaves

Random ramblings about some random stuff, and things; but more stuff than things -- all in a mesmerizing and kaleidoscopic soapbox-like flow of words.

3/01/2005

 
Hero of the month: Ben Maurer

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!


Comments: Post a Comment

Subscribe to Post Comments [Atom]





<< Home

Archives

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  

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]