bw_pipe.8 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. .\" $Id$
  2. .TH BW_PIPE 8 "$Date$" "(c)1994 Larry McVoy" "LMBENCH"
  3. .SH NAME
  4. bw_pipe \- time data movement through pipes
  5. .SH SYNOPSIS
  6. .B bw_pipe
  7. .SH DESCRIPTION
  8. .B bw_pipe
  9. creates a Unix pipe between two processes and moves 50MB through the pipe
  10. in 64KB chunks (note that pipes are typically sized smaller than that).
  11. .SH OUTPUT
  12. Output format is \f(CB"Pipe bandwidth: %0.2f MB/sec\\n", megabytes_per_second\fP, i.e.,
  13. .sp
  14. .ft CB
  15. Pipe bandwidth: 4.87 MB/sec
  16. .ft
  17. .SH MEMORY UTILIZATION
  18. This benchmark can move up to six times the requested memory per process.
  19. There are two processes, the sender and the receiver.
  20. Most Unix
  21. systems implement the read/write system calls as a bcopy from/to kernel space
  22. to/from user space. Bcopy will use 2-3 times as much memory bandwidth:
  23. there is one read from the source and a write to the destionation. The
  24. write usually results in a cache line read and then a write back of
  25. the cache line at some later point. Memory utilization might be reduced
  26. by 1/3 if the processor architecture implemented "load cache line"
  27. and "store cache line" instructions (as well as getcachelinesize).
  28. .SH ACKNOWLEDGEMENT
  29. Funding for the development of
  30. this tool was provided by Sun Microsystems Computer Corporation.
  31. .SH "SEE ALSO"
  32. lmbench(8), pipe(2).