Subject: Re: But why?
To: None <perry@piermont.com>
From: David S. Miller <davem@caip.rutgers.edu>
List: tech-kern
Date: 10/24/1996 00:39:56
   Date: Wed, 23 Oct 1996 23:55:30 -0400
   From: "Perry E. Metzger" <perry@piermont.com>

   "David S. Miller" writes:
   > Indeed nice.  On the SS10 with Happy Meal ethernet cards the code path
   > at each end works out to something like:

   This is *not* a microoptimization. Its the sort of real optimization I
   keep mentioning. Eliminating copies is significant in networking
   stacks. It isn't the same thing as making getpid() run two million
   times a second.

I would not be even close to the numbers I get if:

	a) my task switch wasn't twice as fast as Solaris on Sparc
	b) my syscal entry/exit was not as fast
	c) my interrupt latency was not so low

All of it, the "algorithms" as you refer to them, the stream lined
code path, and the "micro optimizations" and assembler bit fiddling,
are how these numbers are obtained.

One entity can not exist just by itself as the sole reason I get the
numbers I do, it is only possible if all of them are working in
parallel.

The microoptimizations (I'm starting to hate this word, it's a farse
the way it is being used in this thread) played a part, just as much
as the rest of the game.

David S. Miller
davem@caip.rutgers.edu