Re: [Nautilus-list] Nautilus Performance Analysis
- From: Darin Adler <darin bentspoon com>
- To: nautilus-list lists eazel com, Alan Cox <alan lxorguk ukuu org uk>
- Subject: Re: [Nautilus-list] Nautilus Performance Analysis
- Date: Tue, 14 Aug 2001 10:30:51 -0700
Thanks for the analysis, Alan. I am naturally embarrassed about these
fundamental mistakes.
A number of people have volunteered to work on Nautilus recently. I'd like
to get people signed up to look into these various problems. I'm happy to
help get the solutions to 100%, but it would be great to have people pick
some of these and drill down to find exactly what's wrong and the best
solution.
Let's tackle some of these, as soon as possible.
On Tuesday, August 14, 2001, at 07:09 AM, Alan Cox wrote:
- Repeated reloads of /usr/share/eel/fonts/urw/n019003l.pfb
Maybe Ramiro can comment on this. One bit of good news is that Nautilus
won't have its own font handling at all if we do the GNOME 2 port well, so
this might just go away on its own as we port to GNOME 2.
- Repeated long stat walks in search of image files, without caching
the found path when it completes. The icon for a given file isnt
going to walk, remember the locatiom
There is an icon cache that should prevent this. But it's possible that we
need a lower level icon path cache. It would be easy to have a separate
cache of paths that do and don't exist -- perhaps that's all we need.
- During the scan it keeps stating my home directory, .Trash and then
doing a getuid() and a password/NIS lookup. The fact it isnt
doing a name/uid cache is killing it over networks. In fact this
not the NFS handling appears to be a major culprit. Cache uid/name
entries. NIS or LDAP really work better if you do.
Can we cache these forever? Or is there some way to tell if a user name is
changed while Nautilus is running? I'll put in a cache for this right away,
if you can help me understand whether and/or when I would need to
invalidate it.
- Early on the file names are read over a pipe/socket from another
thread. They are sent one at a time and this causes a mass of task switches,
enough I can see it on x86, while on other platforms it
will hurt far more. Shove things down sockets in big chunks, it
really pays off
This is a gnome-vfs issue, I think. Anyone interested in tackling it?
- Repeated reparsing of i-regular.xml, several times a second
Again, the icon cache should prevent this, but perhaps there's some simple
reason it doesn't.
This is followed by the directory scan pattern with some directories being
checked 15 + times in a via lstat
We should find out why any particular directory was checked more than 2 or
3 times.
Loading a jpeg over NFS (ie double clicking it) takes 25 seconds to view
on my Athlon 550. Loading it off disk takes < 1. Looking at tcpdump traces
it seems the jpeg reader is asking the OS to read tiny little bits at a
time
We are reading it with gdk-pixbuf. I imagine this is a bug in the
gdk-pixbuf loader architecture. Perhaps the thing to do is to find a way
to add a level of caching. The fix to this is probably to change eel's
Also an image load appears to cause another full screen window covering
the desktop to be generated ???
Strange, and a mystery. I've never seen this.
Guys, let me know which of these you're going to tackle, and I'll try to
point you in the right direction. With further understanding of why the
existing code and caches still result in repetitive operations, we can
decide whether to add caches, or just to fix design, for each of these
problems.
-- Darin
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]