Yesterday I got inspired by the performance work federico posted. I decided to take a look on why gnome_vfs_get_volume_monitor() was so slow. After some investigation, a few modifications (adding colors and crude execve support) to the nice pycairo script federico wrote to plot strace logs and adding some markers to bonobo-activation, I came up with the following plot:
The python script I used to test can be found here.
Just before running this I did the tail /dev/zero trick (with swap turned off) to "flush" the kernel cache.
As the graph quite clearly states, bonobo-activation-server is spending about one second listing directories, reading and parsing .server (xml) files. The gconfd-2 startup is probably not so bad (it used to be a lot worse), but I do wonder why it takes so long time to import gnomevfs.
When can we have DTrace for Linux?