BW_PIPE(8) LMBENCH BW_PIPE(8)NAMEbw_pipe - time data movement through pipes
SYNOPSISbw_pipe [ -m <message size> ] [ -M <total bytes> ] [ -P <parallelism> ]
[ -W <warmups> ] [ -N <repetitions> ]
DESCRIPTIONbw_pipe creates a Unix pipe between two processes and moves total bytes
through the pipe in message size chunks (note that pipes are typically
sized smaller than that). The default total bytes is 10MB and the
default message size is 64KB.
OUTPUT
Output format is "Pipe bandwidth: %0.2f MB/sec\n", megabytes_per_sec‐
ond, i.e.,
Pipe bandwidth: 4.87 MB/sec
MEMORY UTILIZATION
This benchmark can move up to six times the requested memory per
process. There are two processes, the sender and the receiver. Most
Unix systems implement the read/write system calls as a bcopy from/to
kernel space to/from user space. Bcopy will use 2-3 times as much mem‐
ory bandwidth: there is one read from the source and a write to the
destionation. The write usually results in a cache line read and then
a write back of the cache line at some later point. Memory utilization
might be reduced by 1/3 if the processor architecture implemented "load
cache line" and "store cache line" instructions (as well as getcacheli‐
nesize).
ACKNOWLEDGEMENT
Funding for the development of this tool was provided by Sun Microsys‐
tems Computer Corporation.
SEE ALSOlmbench(8).
AUTHOR
Carl Staelin and Larry McVoy
Comments, suggestions, and bug reports are always welcome.
(c)1994 Larry McVoy $Date$ BW_PIPE(8)