.\" $Id$ .TH BW_UNIX 8 "$Date$" "(c)1994 Larry McVoy" "LMBENCH" .SH NAME bw_unix \- time data movement through Unix stream sockets .SH SYNOPSIS .B bw_unix .SH DESCRIPTION .B bw_unix creates a Unix stream socket between two processes and moves 10MB through the stream in 64KB chunks (note that sockets are typically sized smaller than that). .SH OUTPUT Output format is \f(CB"AF_UNIX sock stream bandwidth: %0.2f MB/sec\\n", megabytes_per_second\fP, i.e., .sp .ft CB AF_UNIX sock stream bandwidth: 4.87 MB/sec .ft .SH 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). .SH ACKNOWLEDGEMENT Funding for the development of this tool was provided by Sun Microsystems Computer Corporation. .SH "SEE ALSO" lmbench(8).