From: Linus Torvalds (torvalds@klaava.Helsinki.FI)
Date: 06/26/93


From: torvalds@klaava.Helsinki.FI (Linus Torvalds)
Subject: Re: Linux performance: OUCH!
Date: 26 Jun 1993 12:45:49 +0300

In article <C96oC5.366@inviso.com> gilbert@inviso.com (Gilbert Callaghan) writes:
>
>It is on a local network with several other 486/33's running Interactive
>Unix. It's running 0.99pl10 with net-2 and everything works great.
>
> BUT... IT'S SLOW!!!
>
>Here are comparisons of Linux and ISC compiling MicroEMACS with gcc.
>This is the output of 'time make':
>
> Linux ISC
>
> real 8:34.0 real 2:37.1
> user 8:07.1 user 1:23.5

Hmm.. These kinds of user time differences would make me suspect your
memory setup: you might want to check if your machines caches all of the
memory area, as I've personally seen similar things on my own machine
when the cache worked only in the low 16MB of memory (the low 16MB ran
at full speed, while the high memory ran 10-15 times slower: the
difference was truly spectacular). With a mixture of slow and fast
memory (which linux will use pretty randomly), a 6-fold slowdown is not
even very unlikely.

>Is there something wrong with my system, or is Linux just a dog?

Most comments I have gotten would indicate that linux is generally as
fast or faster than most other i386 unixes, so this kind of 6-fold
slowdown would be unlikely to be due to the kernel even if it wasn't a
question of user-times.

>Any comments you have experienced concerning linux' performance, or
>suggestions on how to fix this (if it's a problem with my system) are
>greatly appreciated.

I'd suggest you try a kernel that has been compiled with the 16MB limit
("make config"), so that it doesn't use more than 16MB of memory even if
more is available. Not only is 16MB the magical ISA limit, but it seems
many motherboards can cache only up to the 16MB limit if they have 64kB
cache (but I have at least one report of a motherboard that has caching
problems past the 8MB limit too..). If it compiles faster when you have
less memory, you know what the problem is - in my case it was fixed by
upgrading the cache from 64kB to 256kB.

                Linus