Towards a Ridley-based platform

Today I finally made the last changes to remove libgnome and its dependencies from nautilus. Its not in svn yet because some patches to gnome-desktop has to go in first.

Before:

ldd `which nautilus` | wc -l
91

After:

ldd `which nautilus` | wc -l
60

So, we are now linking to  30 libraries less! Libraries which we hardly used but still take time to load, initialize and resolve symbols from.

As a comparison, gtk-demo links to 37 libraries on my system. The additional libraries come from session management, thread use, dbus, gconf, libgnomedesktop and some other nautilus-specific features.

So, Project Ridley is alive and kicking (even if the wiki page is a bit outdated). I’m just waiting for dconf/GtkSettings to be finished and then we’ll really have a competitive next generation platform without all the old deprecated libgnome era stuff.

UPDATE: I’ve now commited this to trunk. You need new gnome-desktop, eel and nautilus

12 Responses to “Towards a Ridley-based platform”

  1. Do you have any benchmark or memory usage reports?

  2. That’s worth at least 3 points of awesomeness, I’m sure.

  3. alexl says:

    No benchmarks or anything. I’ll do some tests once it lands. I doubt it will be any large differences though. Perhaps cold-start time.

  4. I have been looking for any hints of actual GSettings/DConf documentation or code high and low. Do you have any pointers? As far as my research goes it is complete vapourware.

    I hope I am not right because there any many people waiting for it.

  5. Great…. Also interested in updating http://live.gnome.org/LibgnomeMustDie ? (e.g. gnome-thumbnail -> GnomeDesktopThumbnail etc) :-)

  6. bkor says:

    Very very nice!!

  7. [...] by Alexander Larssons post on reduing the number of libraries linked in nautilus I ran ldd on [...]

  8. freetz says:

    Maybe it’s time to use –as-needed?
    % ldd `which nautilus` | wc -l
    81
    % nautilus –version
    GNOME nautilus 2.24.0

  9. alexl says:

    freetz:
    I think there is some libtool issue affecting –as-needed.

    However, even with that fix this wouldn’t really help. There would be no direct dependencies on these libs, but they would still be loaded at startup via indirect dependencies (and as such, showed by ldd too).

  10. [...] Alexander Larsson finishing the removal of libgnome usage from Nautilus, other hackers and projects made the same kind of changes, Ignacio Casal Quinteiro in Anjuta, [...]