* Time to do something about those loading times
@ 2002-08-15 8:11 Jean Francois Martinez
2002-08-15 8:43 ` Jean Francois Martinez
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Jean Francois Martinez @ 2002-08-15 8:11 UTC (permalink / raw)
To: linux-mm
Presently one of the things who are hindering Linux progress on the
desktop is that the loading times are far higher than on Windows. This
gives the impression it is slow.
Some of the following issues are filesystem related
1) No preloading. In addition to preloading some crucial libraries or
parts of libraries (who could be discarded when needed) I wish to submit
the following idea inspired by MVS: preload crucial libraries into a
special swap at boot time. The benefit is that loading from swap is
faster and that in addition they are unfragmented and tightly packed
together with their relatives: ie if some important program needs libA
and libB and you preload them then libA and libB will be immediate
neighbours instead of being at oppsoite ends of filesystem
2) What happens when a code page is discarded? As I understand it it is
just discarded and that means next time we will have to look it again
into the filesystem (and remember that two pages from two different
libraries will be very far from one another). Wouldn't it be better to
copy into swap so next time it will be fetched faster? The preceeding
assumes that there is a way to keep swap not overly fragmented.
3) There is no concept of file affinity in Linux. While the filesystems
do a quite good job of keeping files unfragmented the fact is that there
is no way to tell it that such and such file form a whole and should be
kept together. End result uis that two libraries who are usually loaded
together end at opposite ends of filesystem. There should be a system
call for the Linux installers to tell the kernel "from now all the files
I create are affine" and "from now you have a free rein" .
4) It looks like developers build libraries in a haphazard way.
Reorganizing so the most used routines are close to the beginning (and
close to each other) would probably provide a sizable improvement in
loading times. For that we need a tool able to collect statistics.
But I am not sure it would be feasible for the distribution vendor doing
the reorg or if it would be better to have it done at individual boxes.
5) While the ELF format could be developer friendly it also seems to
require far more overhead than the DLL (or the old a.out) format. I
wonder if shifting to ELF was not a case of wanting to ape "real Unixes"
even when they had shot themselves in the foot.
JFM
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: Time to do something about those loading times
2002-08-15 8:11 Time to do something about those loading times Jean Francois Martinez
@ 2002-08-15 8:43 ` Jean Francois Martinez
2002-08-29 18:07 ` Daniel Phillips
2002-09-01 18:28 ` Ingo Oeser
2 siblings, 0 replies; 4+ messages in thread
From: Jean Francois Martinez @ 2002-08-15 8:43 UTC (permalink / raw)
To: linux-mm
On Thu, 2002-08-15 at 10:11, Jean Francois Martinez wrote:
> Presently one of the things who are hindering Linux progress on the
> desktop is that the loading times are far higher than on Windows. This
> gives the impression it is slow.
>
> Some of the following issues are filesystem related
>
Should have read "MM related"
JFM
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Time to do something about those loading times
2002-08-15 8:11 Time to do something about those loading times Jean Francois Martinez
2002-08-15 8:43 ` Jean Francois Martinez
@ 2002-08-29 18:07 ` Daniel Phillips
2002-09-01 18:28 ` Ingo Oeser
2 siblings, 0 replies; 4+ messages in thread
From: Daniel Phillips @ 2002-08-29 18:07 UTC (permalink / raw)
To: Jean Francois Martinez, linux-mm
On Thursday 15 August 2002 10:11, Jean Francois Martinez wrote:
> 2) What happens when a code page is discarded? As I understand it it is
> just discarded and that means next time we will have to look it again
> into the filesystem (and remember that two pages from two different
> libraries will be very far from one another). Wouldn't it be better to
> copy into swap so next time it will be fetched faster? The preceeding
> assumes that there is a way to keep swap not overly fragmented.
Pages of code files, and every other kind of file are in fact kept in
cache until memory pressure forces them out. Linux is pretty good
about that.
--
Daniel
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Time to do something about those loading times
2002-08-15 8:11 Time to do something about those loading times Jean Francois Martinez
2002-08-15 8:43 ` Jean Francois Martinez
2002-08-29 18:07 ` Daniel Phillips
@ 2002-09-01 18:28 ` Ingo Oeser
2 siblings, 0 replies; 4+ messages in thread
From: Ingo Oeser @ 2002-09-01 18:28 UTC (permalink / raw)
To: Jean Francois Martinez; +Cc: linux-mm
Hi Jean,
On Thu, Aug 15, 2002 at 10:11:02AM +0200, Jean Francois Martinez wrote:
> Presently one of the things who are hindering Linux progress on the
> desktop is that the loading times are far higher than on Windows. This
> gives the impression it is slow.
No they have different application design philosophies. A Unix
system is more than a kernel and the kernel tries best to support
the applications for Unix. Applications which are designed
another way are penalized for its poor design.
Thats called system design and application programmers should use
it properly instead of designing a Windows application and expect
it to run performant on Unix. It also doesn't work the other way
around[1].
So every Unix application that uses threads for everything, has no
useful commandline parameters, doesn't evaluate $HOME/.theconfig,
isn't startable remotely, modifies anything besides things I have
access to as a normal user, or is monolithic and uses lots of
shared libraries simply is a bad designed Unix application.
But thats just me(?).
Its better to penalize bad design and encourage good design by
slowing down bad behavior and making good behavior faster. Hope
that will never change.
Your slow loading problem can be solved by prelinking. Build a
linker to do this and save your favorite applications prelinked
(or build them simply completely statically linked). For windows
like applications ELF and ld-so are simply not designed.
Regards
Ingo Oeser
[1] Try redirecting output from your favorite windows
application. Try embedding vim or emacs in it. Try to disable
the GUI and control it via commandline parameters. See, thats
by design.
--
Science is what we can tell a computer. Art is everything else. --- D.E.Knuth
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2002-09-01 18:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-15 8:11 Time to do something about those loading times Jean Francois Martinez
2002-08-15 8:43 ` Jean Francois Martinez
2002-08-29 18:07 ` Daniel Phillips
2002-09-01 18:28 ` Ingo Oeser
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox