Provided by: lmbench-doc_3.0-a9-1.1_all bug

NAME

       bw_pipe - time data movement through pipes

SYNOPSIS

       bw_pipe [ -m <message size> ] [ -M <total bytes> ] [ -P <parallelism> ] [ -W <warmups> ] [
       -N <repetitions> ]

DESCRIPTION

       bw_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_second, 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  memory 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
       getcachelinesize).

ACKNOWLEDGEMENT

       Funding  for  the  development  of  this  tool  was  provided by Sun Microsystems Computer
       Corporation.

SEE ALSO

       lmbench(8).

AUTHOR

       Carl Staelin and Larry McVoy

       Comments, suggestions, and bug reports are always welcome.

(c)1994 Larry McVoy                           $Date$                                   BW_PIPE(8)