From: Jan Hudec <bulb@ucw.cz>
To: Jesse Pollard <pollard@admin.navo.hpc.mil>
Cc: Oliver Neukum <oliver@neukum.name>,
Helge Hafting <helgehaf@aitel.hist.no>,
"Martin J. Bligh" <mbligh@aracnet.com>,
linux-kernel@vger.kernel.org
Subject: Re: The reason to call it 3.0 is the desktop (was Re: [OT] 2.6 not 3.0 - (NUMA))
Date: Mon, 7 Oct 2002 17:34:38 +0200 [thread overview]
Message-ID: <20021007153438.GA14993@vagabond> (raw)
In-Reply-To: <200210071001.22467.pollard@admin.navo.hpc.mil>
On Mon, Oct 07, 2002 at 10:01:22AM -0500, Jesse Pollard wrote:
> On Monday 07 October 2002 09:11 am, Jan Hudec wrote:
> > On Mon, Oct 07, 2002 at 11:18:44AM +0200, Oliver Neukum wrote:
> > > On Monday 07 October 2002 10:08, Helge Hafting wrote:
> [snip]
> > >
> > > How does one measure and profile application startup other than with
> > > a stopwatch ? I'd like to gather some objective data on this.
> >
> > Add some debuging output to the program (mainly at the very begining of
> > main) and then launch it with simple program that will note time right
> > before it forks and then wait for the application to output something
> > (which should be the debuging write at the start od main) and note time
> > it returned from select.
>
> nope... It has to be after input parameters have been evaluated, after
> X window initialization has been done, and possibly after the application
> windows are created. For a benchmark, it would likely be good to have
> them at ALL such locations. Even on exit (how long does it take to
> cleanup?).
Well, depends on what we want to measure. If it's on the begining of
main, it measures library loading time. Then argument parsing, library
initialization, X initialization etc. can be measured. All those parts
should be timed so we can see where most time is spent and which can be
sped up.
> > > > A snappy desktop is trivial with 2.5, even with a slow machine.
> > > > Just stay away from gnome and kde, use a ugly fast
> > >
> > > A desktop machine needs to run a desktop enviroment. Only a window
> > > manager is not enough.
> >
> > Please, could someone explain to me, what is desktop enviroment in
> > addition to window manager and horde of libraries for UI and IPC.
> >
> > (No, panel is not important thing and even if it were, it's a simple
> > fast application, providing it's implemented sanely (I mean, gnome panel
> > is currently buggy))
>
> The applications that USE that horde of libraries that must be running.
> Otherwise, a blank screen would have been considered sufficient. Some
> of these applications are: tool chest (sometimes part of a WM), multiple
> desktop support (usually part of the WM, but not necessarily), WP or
> other applications activated - depending on what the user wants.
Tool chest definitely does not need most of the horde of libraries. And
it's part of most window managers (except sawfish and icewm(?))
Multiple desktop support is _the_ windowmanager. I asked what in
addition to window manager.
Application is application using the desktop enviroment.
Thus we come back to that desktop enviroment is only a window manager
(which either provides toolchest or uses separate process to do it, but
that process does not have to be that much complicated) and a horde of
libraries for applications to cooperate together well. Some basic
application must of course be there, like a file manager.
> What you end up having to do is define what the base desktop is
> required to have to be considered "functional", and the amount of
> time available for the desktop to be ready for use. I've even seen
> M$ windows with 50-75 icons already present. Until they are initialized
> the user didn't consider the system "usable". And that took several minutes
> on an 800 MHZ system. During some of that setup the mouse was just
> unusable (frozen) or it would jump around trying to catch up with the
> users activity.
And each of them was redrawn three times during the setup...
unfortunately gnome is not far from there too.
> The other part of "usable" is how long it takes for an application to
> "start". A simple fork/exec is quite fast. But that isn't a "started"
> application. A responsive system means that the time between
> the selection of the application to the time the user can enter data
> (ie. make a menu selection/start typing) is as short as possible. The
> users desire is about 1/4th of a second. With a large number of applications,
> this activity requires a LOT of swap in code. Not something done fast.
Here the larger the horde of libraries used is and the larger
individual libraries in it are, the worse.
> One way some systems used to do this is to guarantee a MINIMUM of
> 50-100K of the application to be loaded BEFORE a context switch
> to the application is done. Of course, this assumes that all of the
> initialization code can actually FIT in the first 100K. Usually it doesn't
> because a lot of that initialization is for general runtime support and X
> library initialization. Hopefully, this is already loaded and resident by a
> pre-existing application (the window manger). Unfortunately, the WM
> initialization may have already been swapped out. and some of the X
> libraries too.
>
> The only solution for this is to not swap out at all, and have enough
> memory for everything. Which is also the first recommendation to
> improve M$ Windows performance. (got that one when a laptop
> was alread maxed out "... not enough resources, why don't you
> get some more memory...")
Well, one of worst part is loading that horde of libraries in memory.
When you take a typical gnome application, the dynamic linker has quite
hard time there, because it must at least locate all of them and mmap
them. And must do that recursively for all the dependencied (fortunately
it can use cache the ld.cache where dependencies are listed). With
many gnome applications, many of these libraries will never be used or
will be used for just one or two functions, only once ... but they are
all mmaped, which means opened, which means looked up.
So what could help quite a lot would be to try hard to make as many
things as possible lazy (both in dynamic linker and in initialization of
all those libraries).
-------------------------------------------------------------------------------
Jan 'Bulb' Hudec <bulb@ucw.cz>
next prev parent reply other threads:[~2002-10-07 15:30 UTC|newest]
Thread overview: 206+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-24 1:54 [PATCH-RFC] 4 of 4 - New problem logging macros, SCSI RAID device driver Larry Kessler
2002-09-24 2:22 ` Jeff Garzik
2002-09-26 15:52 ` Alan Cox
2002-09-26 22:55 ` [PATCH-RFC] 4 of 4 - New problem logging macros, SCSI RAIDdevice driver Larry Kessler
2002-09-26 22:58 ` Jeff Garzik
2002-09-26 23:07 ` Linus Torvalds
2002-09-27 2:27 ` Jeff Garzik
2002-09-27 4:45 ` Linus Torvalds
2002-09-28 7:46 ` Ingo Molnar
2002-09-28 9:16 ` jw schultz
2002-09-30 14:05 ` Denis Vlasenko
2002-09-30 10:22 ` Tomas Szepe
2002-09-30 11:10 ` jw schultz
2002-09-30 11:17 ` Adrian Bunk
2002-09-30 19:48 ` Rik van Riel
2002-09-30 20:30 ` Christoph Hellwig
2002-09-28 15:40 ` Kernel version [Was: Re: [PATCH-RFC] 4 of 4 - New problem logging macros, SCSI RAIDdevice driver] Horst von Brand
2002-09-29 1:31 ` v2.6 vs v3.0 Linus Torvalds
2002-09-29 6:14 ` james
2002-09-29 6:55 ` Andre Hedrick
2002-09-29 12:59 ` Gerhard Mack
2002-09-29 13:46 ` Dr. David Alan Gilbert
2002-09-29 14:06 ` Wakko Warner
2002-09-29 15:42 ` Jens Axboe
2002-09-29 16:21 ` Alan Cox
2002-09-29 16:17 ` Jens Axboe
2002-09-30 0:39 ` Jeff Chua
2002-09-29 16:22 ` Dave Jones
2002-09-29 16:26 ` Jens Axboe
2002-09-29 21:46 ` Matthias Andree
2002-09-30 7:05 ` Michael Clark
2002-09-30 7:22 ` Andrew Morton
2002-09-30 13:08 ` Kevin Corry
2002-09-30 13:05 ` Kevin Corry
2002-09-30 13:49 ` Michael Clark
2002-09-30 14:26 ` Kevin Corry
2002-09-30 13:59 ` Michael Clark
2002-09-30 15:50 ` Kevin Corry
2002-09-29 17:06 ` Jochen Friedrich
2002-09-29 15:18 ` Trever L. Adams
2002-09-29 15:45 ` Jens Axboe
2002-09-29 15:59 ` Trever L. Adams
2002-09-29 16:06 ` Jens Axboe
2002-09-29 16:13 ` Trever L. Adams
2002-09-30 6:54 ` Kai Henningsen
2002-09-30 18:40 ` Bill Davidsen
2002-10-01 12:38 ` Matthias Andree
2002-10-04 19:58 ` Bill Davidsen
2002-09-29 17:42 ` Linus Torvalds
2002-09-29 17:54 ` Rik van Riel
2002-09-29 18:24 ` Alan Cox
2002-09-30 7:56 ` Jens Axboe
2002-09-30 9:53 ` Andre Hedrick
2002-09-30 11:54 ` Jens Axboe
2002-09-30 12:58 ` Alan Cox
2002-09-30 13:05 ` Jens Axboe
2002-10-01 2:17 ` Andre Hedrick
2002-09-30 16:39 ` jbradford
2002-09-30 16:47 ` Pau Aliagas
2002-09-29 7:16 ` jbradford
2002-09-29 8:08 ` Jeff Garzik
2002-09-29 8:17 ` David S. Miller
2002-09-29 9:12 ` Jens Axboe
2002-09-29 11:19 ` Murray J. Root
2002-09-29 15:50 ` Jens Axboe
2002-09-30 7:01 ` Kai Henningsen
2002-09-29 16:04 ` Zwane Mwaikambo
2002-09-29 14:56 ` Alan Cox
2002-09-29 15:38 ` Jens Axboe
2002-09-29 16:30 ` Dave Jones
2002-09-29 16:42 ` Bjoern A. Zeeb
2002-09-29 21:16 ` Russell King
2002-09-29 21:32 ` Alan Cox
2002-09-29 21:49 ` steve
2002-09-29 21:52 ` Matthias Andree
2002-09-30 7:31 ` Tomas Szepe
2002-09-30 15:33 ` Jan Harkes
2002-09-30 18:13 ` Jeff Willis
2002-09-29 17:48 ` Linus Torvalds
2002-09-29 18:13 ` Jaroslav Kysela
2002-09-30 19:32 ` Bill Davidsen
2002-10-01 6:26 ` Jens Axboe
2002-10-01 7:54 ` Mikael Pettersson
2002-10-01 8:27 ` Jens Axboe
2002-10-01 8:44 ` jbradford
2002-10-01 11:31 ` Alan Cox
2002-10-01 11:25 ` Jens Axboe
2002-09-29 15:34 ` Andi Kleen
2002-09-29 17:26 ` Jochen Friedrich
2002-09-29 17:35 ` Jeff Garzik
2002-09-30 0:00 ` Andi Kleen
2002-10-01 19:28 ` IPv6 stability (success story ;) Petr Baudis
2002-09-29 9:15 ` v2.6 vs v3.0 Jens Axboe
2002-09-29 19:53 ` james
2002-09-29 15:26 ` Matthias Andree
2002-09-29 16:24 ` Alan Cox
2002-09-29 22:00 ` Matthias Andree
2002-09-30 19:02 ` Bill Davidsen
2002-09-30 18:37 ` Bill Davidsen
2002-10-03 15:51 ` [OT] 2.6 not 3.0 - (WAS Re: [PATCH-RFC] 4 of 4 - New problem logging macros, SCSI RAIDdevice) jbradford
2002-10-03 15:57 ` Linus Torvalds
2002-10-03 16:16 ` [OT] 2.6 not 3.0 - (WAS Re: [PATCH-RFC] 4 of 4 - New problem jbradford
2002-10-03 22:30 ` Greg KH
2002-10-04 6:33 ` jbradford
2002-10-04 6:37 ` Greg KH
2002-10-04 7:17 ` jbradford
2002-10-04 7:30 ` Greg KH
2002-10-03 16:37 ` [OT] 2.6 not 3.0 - (WAS Re: [PATCH-RFC] 4 of 4 - New problem logging macros, SCSI RAIDdevice) Alan Cox
2002-10-03 16:56 ` Linus Torvalds
2002-10-03 17:40 ` Alan Cox
2002-10-03 19:55 ` jlnance
2002-10-03 16:51 ` Dave Jones
2002-10-03 17:04 ` Alan Cox
2002-10-03 20:43 ` Andrew Morton
2002-10-03 22:05 ` Dave Jones
2002-10-04 3:46 ` Andreas Boman
2002-10-04 7:44 ` jbradford
2002-10-03 19:51 ` Rik van Riel
2002-10-04 22:26 ` [OT] 2.6 not 3.0 - (NUMA) Martin J. Bligh
2002-10-04 23:13 ` Linus Torvalds
2002-10-05 0:21 ` Martin J. Bligh
2002-10-05 0:36 ` Linus Torvalds
2002-10-05 1:25 ` Michael Hohnbaum
2002-10-05 20:30 ` The reason to call it 3.0 is the desktop (was Re: [OT] 2.6 not 3.0 - (NUMA)) Rob Landley
2002-10-06 2:15 ` Andrew Morton
2002-10-06 9:42 ` Russell King
2002-10-06 17:06 ` Alan Cox
2002-10-06 13:44 ` Oliver Neukum
2002-10-06 15:19 ` Martin J. Bligh
2002-10-06 15:14 ` Oliver Neukum
2002-10-07 8:08 ` Helge Hafting
2002-10-07 9:18 ` Oliver Neukum
2002-10-07 14:11 ` Jan Hudec
2002-10-07 15:01 ` Jesse Pollard
2002-10-07 15:34 ` Jan Hudec [this message]
2002-10-08 3:12 ` [OT] " Scott Mcdermott
2002-10-10 23:49 ` Mike Fedyk
2002-10-07 15:15 ` Martin J. Bligh
2002-10-08 13:49 ` Helge Hafting
2002-10-07 17:43 ` Daniel Phillips
2002-10-07 18:31 ` Andrew Morton
2002-10-07 18:51 ` Linus Torvalds
2002-10-07 20:14 ` Alan Cox
2002-10-07 20:31 ` The reason to call it 3.0 is the desktop (was Re: [OT] 2.6 not3.0 " Andrew Morton
2002-10-07 20:46 ` Linus Torvalds
2002-10-07 20:44 ` The reason to call it 3.0 is the desktop (was Re: [OT] 2.6 not 3.0 " Linus Torvalds
2002-10-07 21:16 ` The reason to call it 3.0 is the desktop (was Re: [OT] 2.6 not3.0 " Andrew Morton
2002-10-07 23:47 ` jw schultz
2002-10-11 0:02 ` Mike Fedyk
2002-10-07 18:58 ` The reason to call it 3.0 is the desktop (was Re: [OT] 2.6 not 3.0 " Chris Friesen
2002-10-07 19:21 ` Daniel Phillips
2002-10-07 19:35 ` Linus Torvalds
2002-10-08 0:39 ` Theodore Ts'o
2002-10-08 2:59 ` Andrew Morton
2002-10-08 16:15 ` Theodore Ts'o
2002-10-08 19:39 ` Andrew Morton
2002-10-08 17:06 ` Rob Landley
2002-10-07 19:36 ` Andrew Morton
2002-10-08 2:36 ` Simon Kirby
2002-10-08 2:47 ` Daniel Phillips
2002-10-08 2:50 ` Andrew Morton
2002-10-08 2:54 ` Simon Kirby
2002-10-08 3:00 ` Andrew Morton
2002-10-08 16:17 ` Theodore Ts'o
2002-10-08 12:49 ` jlnance
2002-10-08 17:09 ` Andrew Morton
2002-10-10 20:53 ` Thomas Zimmerman
2002-10-08 13:54 ` Helge Hafting
2002-10-08 15:31 ` Andreas Dilger
2002-10-07 19:05 ` Daniel Phillips
2002-10-07 19:24 ` Linus Torvalds
2002-10-07 20:02 ` Daniel Phillips
2002-10-07 20:14 ` Andrew Morton
2002-10-07 20:22 ` Daniel Phillips
2002-10-07 20:28 ` Linus Torvalds
2002-10-07 21:16 ` Daniel Phillips
2002-10-07 21:55 ` Linus Torvalds
2002-10-07 22:02 ` Daniel Phillips
2002-10-07 22:12 ` Andrew Morton
2002-10-08 8:49 ` Padraig Brady
2002-10-07 22:14 ` Charles Cazabon
2002-10-30 18:26 ` Lee Leahu
2002-10-06 6:33 ` Martin J. Bligh
2002-10-07 5:28 ` John Alvord
2002-10-07 8:39 ` The reason to call it 3.0 is the desktop (was Re: [OT] 2.6 n Giuliano Pochini
2002-10-07 13:56 ` The reason to call it 3.0 is the desktop (was Re: [OT] 2.6 not 3.0 - (NUMA)) Jesse Pollard
2002-10-07 14:03 ` Rob Landley
2002-10-08 22:14 ` Jesse Pollard
2002-10-08 19:11 ` Rob Landley
2002-10-09 8:17 ` Alexander Kellett
2002-10-07 18:22 ` Daniel Phillips
2002-10-08 8:19 ` Jan Hudec
2002-10-11 23:53 ` Hans Reiser
2002-10-11 20:26 ` Rob Landley
2002-10-12 4:14 ` Nick LeRoy
2002-10-13 17:27 ` Rob Landley
2002-10-12 10:03 ` Hans Reiser
2002-10-13 17:32 ` Rob Landley
2002-10-13 23:51 ` Hans Reiser
2002-10-14 16:33 ` Rob Landley
2002-10-14 7:10 ` Nikita Danilov
2002-10-21 15:36 ` [OT] Please don't call it 3.0!! (was Re: The reason to call it 3.0 is the desktop (was Re: [OT] 2.6 not 3.0 - (NUMA))) Calin A. Culianu
2002-10-21 16:20 ` Wakko Warner
2002-10-12 11:42 ` The reason to call it 3.0 is the desktop (was Re: [OT] 2.6 not 3.0 - (NUMA)) Matthias Andree
2002-10-12 14:56 ` Hugh Dickins
2002-09-27 11:32 ` [PATCH-RFC] 4 of 4 - New problem logging macros, SCSI RAIDdevice driver Alan Cox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20021007153438.GA14993@vagabond \
--to=bulb@ucw.cz \
--cc=helgehaf@aitel.hist.no \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@aracnet.com \
--cc=oliver@neukum.name \
--cc=pollard@admin.navo.hpc.mil \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox