> The pipe bandwidth is intimately related to pipe latency.  Linux pipes
> are fairly small (only 4kB worth of data buffer), so they need good
> latency for good performance.
...
> The pipe bandwidth could be fairly easily improved by just doubling the
> buffer size (or by using VM tricks), but it's not been something that
> anybody has felt was all that important in real life.

A while ago I hacked 2.2.17 to use larger pipe buffers. On my own pure
throughput benchmark (two processes ping-pongging one buffer's worth of data
on a single-CPU system), buffers larger than 4KB hardly gave any advantage.
64KB buffers were marginally (10-20%) faster, but performance dropped quite
considerably after that (cache effects, maybe...).

After seeing these results I simply assumed that 4KB had been deliberately
chosen as the optimal buffer size, rather than by luck =).

Now, Dave Miller's kiobuf pipes may change the picture somewhat...

Dan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to