Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
BW_PIPE(8)			     LMBENCH			      BW_PIPE(8)

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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bw_pipe&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help