12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- .\" $Id$
- .TH BW_FILE_RD 8 "$Date$" "(c)1994 Larry McVoy" "LMBENCH"
- .SH NAME
- bw_file_rd \- time the reading and summing of a file
- .SH SYNOPSIS
- .B bw_file_rd
- .I size
- .I file
- .SH DESCRIPTION
- .B bw_file_rd
- times the read of the specified file in 64KB blocks. Each block is summed
- up as a seried of 4 byte integers in an unrolled loop.
- Results are reported in megabytes read per second.
- .PP
- The data is not accessed in the user program; the benchmark relies on
- the operating systems read interface to have actually moved the data.
- Systems that implement page flipping may fool this benchmark.
- .PP
- The benchmark is intended to be used on a file
- that is in memory, i.e., the benchmark is a reread benchmark. Other
- file benchmarking can be done with
- .BR lmdd (8).
- .PP
- The size
- specification may end with ``k'' or ``m'' to mean
- kilobytes (* 1024) or megabytes (* 1024 * 1024).
- .SH OUTPUT
- Output format is \f(CB"%0.2f %.2f\\n", megabytes, megabytes_per_second\fP, i.e.,
- .sp
- .ft CB
- 8.00 25.33
- .ft
- .SH MEMORY UTILIZATION
- This benchmark can move up to three times the requested memory. Most Unix
- systems implement the read system call as a bcopy from kernel space
- to 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).
|