[rescue] Mozilla Firefox

Charles Shannon Hendrix shannon at widomaker.com
Thu Apr 22 19:51:37 CDT 2004


Thu, 22 Apr 2004 @ 18:09 -0400, Phil Stracchino said:

> > Now we not only have to deal with copy-cat KDE and Gnome, we have to
> > deal with the latest Gnome wet-dream: Mono, a GPL'd duplication of
> > Microsoft .NET.
> 
> ...I wish I thought you were shitting me.

I wish I was.

> 23MB to do that? That's absurd.  I can get equivalent functionality to
> that with Links, an Xterm, and a dozen lines of Perl glue code in my
> sirc scripts.
> 
> The Gnome developers have completely lost it.

I'm sorry, I was wrong:

shannon   1152  0.0  3.4 17876 8772 ?        S    Apr21   0:04
/usr/libexec/gweather-applet-2
--oaf-activate-iid=OAFIID:GNOME_GWeatherApplet_Factory --oaf-ior-fd=41

It only takes 17MB.  My bad.

Using pmap, a lot of it is shared libraries that a lot of other programs
are using.

However, if you eliminate libraries, you still get a unique memory
mapping in excess of 4MB.

Just imagine how much memory would be taken if we didn't have shared
memory...

> Because that would require the coders to actually think about what they
> were doing on a larger scale then the immediate local couple of hundred 
> lines of code?

I can't understand how they figured out some of the other stuff, which
is obviously a lot of work, and yet seem to mess up on relatively easy
algorithms and techniques.

I mean, how hard is it for part of the Gnome startup to validate the 
path list, and eliminate all of those which don't exist or which
don't have needed files?

When you change themes, why can't Gnome update a daemon that stores
information about all themed objects?

With modern hardware, themes should be practically free.

> I mean, the LEAST it could do is maintain a list of where it *found*
> everything and pass that list to all the apps.

Exactly.  

I misspoke earlier thoug: I meant to say it tried a ton of stat calls to
scan for files.  Most of the calls to open() were valid.

At the end of this message is an strace summary of a call to a gnome
program called zenity, a Gnome version of the console dialog program.

You'll notice that the program runs in a tenth of a second.  But that is
with no I/O pressure, and it is wasteful regardless.

% strace -cT zenity --info --text 'imahog and urahog'
execve("/usr/bin/zenity", ["zenity", "--info", "--text", "wubbus"], [/* 61 vars */]) = 0

(zenity:24771): Gtk-WARNING **: Invalid icon size -1

% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 20.10    0.020837          16      1340       833 stat64
 16.44    0.017036         348        49           write
 14.48    0.015007          25       609        22 open
 11.93    0.012360          21       590           getdents64
  9.02    0.009344          21       447           read
  7.63    0.007909          13       588           close
  4.10    0.004251          16       267           old_mmap
  3.45    0.003573          28       129           munmap
  2.96    0.003065           5       585           fstat64
  2.94    0.003052           7       460           brk
  1.62    0.001679           4       387           fcntl64
  1.33    0.001374         172         8           writev
  0.92    0.000953          23        42        13 access
  0.57    0.000586          10        61           mprotect
  0.56    0.000580         580         1           rename
  0.54    0.000562         187         3         1 unlink
  0.36    0.000372         186         2         1 connect
  0.27    0.000275         275         1           link
  0.14    0.000143           9        16           poll
  0.12    0.000124          62         2           readv
  0.08    0.000084          21         4         2 lstat64
  0.07    0.000075          38         2           socket
  0.07    0.000070           6        11           ioctl
  0.06    0.000062           6        10           uname
  0.05    0.000051           5        10           gettimeofday
  0.04    0.000041          41         1           shmget
  0.03    0.000031           6         5           _llseek
  0.03    0.000029           4         7           getpid
  0.03    0.000027          27         1           shmat
  0.01    0.000014          14         1           _sysctl
  0.01    0.000013           4         3           rt_sigaction
  0.01    0.000012           4         3           getuid32
  0.01    0.000009           5         2           getrlimit
  0.01    0.000008           4         2           geteuid32
  0.01    0.000008           8         1           getresuid32
  0.01    0.000007           7         1           time
  0.01    0.000006           6         1           shmctl
  0.00    0.000005           5         1           setrlimit
  0.00    0.000004           4         1           rt_sigprocmask
  0.00    0.000004           4         1           getresgid32
------ ----------- ----------- --------- --------- ----------------
100.00    0.103642                  5655       872 total


-- 
shannon "AT" widomaker.com -- ["There are nowadays professors of
philosophy, but not philosophers." ]



More information about the rescue mailing list