Man Linux: Main Page and Category List


       bw_file_rd - time the reading and summing of a file


       bw_file_rd  [  -P <parallelism> ] [ -W <warmups> ] [ -N <repetitions> ]
       size file


       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.

       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.

       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 lmdd(8).

       The size specification may end with ‘‘k’’ or ‘‘m’’ to mean kilobytes (*
       1024) or megabytes (* 1024 * 1024).


       Output format is "%0.2f %.2f\n", megabytes, megabytes_per_second, i.e.,

       8.00 25.33


       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


       Funding  for  the  development  of  this  tool  was  provided  by   Sun
       Microsystems Computer Corporation.




       Carl Staelin and Larry McVoy

       Comments, suggestions, and bug reports are always welcome.

(c)1994 Larry McVoy                 $Date$