Provided by: lmbench_3.0-a9+debian.1-6build3_amd64 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)