[lkml]   [1998]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: mmap() versus read()

On Mon, 9 Mar 1998, Richard Gooch wrote:

> The syscall overhead is peanuts. It's more like 10 000 times faster
> than a disc seek. The syscall overhead is simply not worth
> considering.

It's 10k times faster sure if you *have to go to disk*. What happens when
I build a 512Mb web server with only 256Mb of active content? Suddenly
I'm paying for per-request syscalls I don't need. I know, it's all about
trade-offs :)

I could show you a beautiful trace of apache 1.3 hacked up a bit in which
it served 75 requests in something like 20 system calls. This means there
are no per-request syscalls required currently... There's a few
connection setup and teardown calls, and the rest were writev()s or
write()s -- the client was http/1.1 pipelining, so I'm "cheating"... but
pipelining clients are here already and 6 months to a year from now they
should be common.

The reason I started this thread is that I've got a 128Mb server with
about 150Mb of active data... so on it yup extra syscalls would be no
problem at all. As an application programmer though, I'm not sure how I
can discern the two cases efficiently.

Incidentally, benchmarks, and most high volume sites I've dealt with fall
into the first category -- working sets are smaller than RAM. I'd crank
up the memory on my 128Mb box... except it's a Tyan Tomcat III and it's
snobbish about the RAM it will talk with.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to

 \ /
  Last update: 2005-03-22 13:41    [W:0.086 / U:0.900 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site