Re: mmap() versus read()

Richard Gooch (rgooch@atnf.CSIRO.AU)
Mon, 9 Mar 1998 13:30:47 +1100


Dean Gaudet writes:
>
>
> On Mon, 9 Mar 1998, Richard Gooch wrote:
>
> > How long does it take to service and complete a transaction, assuming
> > all data is in RAM?
>
> I haven't put it into an environment where I can test it and be happy that
> I'm producing real-life answers. It should be essentially "as fast as the
> kernel can shovel from the disk/ram to the net and deal with context
> switches". If anyone wants the required patches to 1.3 to play with this
> contact me off-list... it won't be part of apache-1.3 it was just an
> experiment: "if I go over the top, and throw portability and features out
> the window, can I get rid of all the syscalls?".

OK, so lets invent some numbers. Say you are on a 100 Mb/s
network. Let's pretend that you get that bandwidth all the way from
the server to the browser (unlikely). So that's 10 MBytes/sec. If we
transfer a 1 kByte message, that's 100 microseconds just to
*transfer*. If a syscall takes a couple of microseconds, that overhead
is pretty minimal.

> Apache-1.3 will take a minimum of um, 9 per request I think the number
> is... three of them are signal manipulations, two are calls to time(), and
> there's open/mmap/munmap/close. On top of that there are another 10 or so
> required to set up and tear down the connection -- which are amortized on
> persistant connections.

Well, chuck out the signal manipulation for a start :-)

Regards,

Richard....

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu