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


       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 ``getcachelinesize'').


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




       Carl Staelin and Larry McVoy

       Comments, suggestions, and bug reports are always welcome.

(c)1994 Larry McVoy                           $Date$                                BW_FILE_RD(8)