Shall we step back one step (was: Re: memory allocations / libxml)
- From: jg pa dec com (Jim Gettys)
- To: Michael Meeks <michael ximian com>
- Cc: Daniel Veillard <veillard redhat com>, Havoc Pennington <hp redhat com>, gnome-hackers gnome org
- Subject: Shall we step back one step (was: Re: memory allocations / libxml)
- Date: Mon, 4 Mar 2002 17:41:47 -0800 (PST)
There are really two issues here:
o Memory footprint
o performance
Usually the biggest killer on X application performance and startup time
is not CPU time, directly, but indirectly caused by X roundtrips, which
can often be avoided. Indirectly, such round trips also generate lots
of other unneeded activity....
And sometimes applications and toolkits ask the X server do amazingly
stupid things on their behalf (and since we don't have good system
wide profiling tools, this usually goes unnoticed, hidden in X server
statistics, rather than application statistics.
Getting net memory footprint down is always a win.
For analysis of protocol traffic, I recommend xscope, which is unfortunately
hard to get your hands on, as we've never been able to track down
the copyright holder to deal with getting it freely distributable.
However, Keith Packard has a version I expect you can get your hands on,
which has been updated to have recent extensions (e.g. render) supported.
A second tool, also hard to get your hands on unfortunately, is DCPI,
which does system wide profiling without requiring recompilation. You
can tell it: "start profiling", and then "stop profiling", on any or all
processes on the system. This runs on Tru64 UNIX and is available there,
and while it has been ported to Alpha Linux, the code it needs to read
elf symbol tables is GPL'ed, and we've not rewritten it to clear up the
GPL problem, and cannot therefore redistribute DCPI currently on Linux.
I believe some people have been trying to reproduce this technology
open source, but I don't know how far they are.
This would allow simultaneous profiling of both clients and servers
and make it much clearer what is going on and where the total time
gets spent.
If someone has time, it may be possible to make DCPI available on a
machine accessable at CRL to help track some of the performance
problems down, but we (Compaq) cannot currently distribute the
Linux DCPI version due to this GPL problem (why the elf libraries
are GPL rather than LGPLis beyond me, but they are).
If someone has the time, particularly if you are in the Boston area, let
me know and I'll investigate further and see if we can make this happen.
I don't have time myself to start on a big Gnome performance project given
my constraints, but can probably make it possible for someone to do the
work on a machine here.
A "really neat" X server project would be to make an X extension that
was an NFS server, so you could browse a running X server and understand
what is allocated there easily. This, I believe, has been done once
in the past, but I don't think the source was ever made available.
- Jim
--
Jim Gettys
Cambridge Research Laboratory
Compaq Computer Corporation
jg pa dec com
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]