Provided by: lmbench_3.0-a9+debian.1-6build3_amd64 

NAME
bw_tcp - time data movement through TCP/IP sockets
SYNOPSIS
bw_tcp [ -m <message size> ] [ -M <total bytes> ] [ -P <parallelism> ] [ -W <warmups> ] [ -N
<repetitions> ] server
bw_tcp -s
bw_tcp -S <server>
DESCRIPTION
bw_tcp is a client/server program that moves data over a TCP/IP socket. Nothing is done with the data on
either side; total bytes of data is moved in message size chunks.
bw_tcp has three forms of usage: as a server (-s), as a client (bw_tcp localhost), and as a shutdown
(bw_tcp -S localhost).
The default amount of data is 10MB. The client form may specify a different amount of data.
Specifications may end with ``k'' or ``m'' to mean kilobytes (* 1024) or megabytes (* 1024 * 1024).
OUTPUT
Output format is Socket bandwidth using localhost: 2.32 MB/sec
MEMORY UTILIZATION
This benchmark can move up to six times the requested memory per process when run through the loopback
device. 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 and
Silicon Graphics, Inc.
SEE ALSO
lmbench(8).
AUTHOR
Carl Staelin and Larry McVoy
Comments, suggestions, and bug reports are always welcome.
(c)1994 Larry McVoy $Date$ BW_TCP(8)