From: Larry M. <lm...@bi...> - 2003-10-01 23:38:22
|
On Wed, Oct 01, 2003 at 04:29:16PM -0700, Andrew Morton wrote: > If you have a loop like: > > char *buf; > > for (lots) { > read(fd, buf, size); > } > > the optimum value of `size' is small: as little as 8k. Once `size' gets > close to half the size of the L1 cache you end up pushing the memory at > `buf' out of CPU cache all the time. I've seen this too, not that Andrew needs me to back him up, but in many cases even 4k is big enough. Linux has a very thin system call layer so it is OK, good even, to use reasonable buffer sizes. -- --- Larry McVoy lm at bitmover.com http://www.bitmover.com/lm |