Home


Dennis Lang
lang.dennis @ comcast.net

Measure Various Windows File IO Attribute Settings

The following test tries to measure the performance impact of various Windows File I/O attribute settings. The test copies a user provided file to a user provided destiation path. The test iterators over five different attributes in various combinations for both the source and destination file handle. The file is copied using a 512*512 (262144) size buffer.

The following attribute values are measured in various combinations:

  • D = Default (normal)
  • S = Sequencial
  • R = Random
  • N = No buffer
  • A = Asynchronous I/O (overlap)
  • The graphs were created using Excel and a Pivot table of the raw data. The Read attributes are in the columns, with the Write attributes in the rows.

    Legend for column and row headinges:

  • D = Default (normal)
  • S = Sequencial
  • R = Random
  • N = No buffer
  • A = Asynchronous I/O (overlap)
  • For example, ANS is Async + NoBuffer + Sequencial.

    My observations of the results:

  • Disabling the file system buffer decreases performance.
  • Asynchronous I/O (non-blocking) has limited benefit when doing a file copy which is purely I/O bound. I am assuming that if any cpu activity is required to manipulate the buffer, the Asynchronous modes would out perform the non-asynchronous modes.
  • Random Read or Random Write are the best settings with Default or Sequencial.
  • * Click on column heading to sort. Supports multi-column sorts in order sorts applied.
    Rows show the write attributes and Columns are the read attributes.

    Windows File Performance (MB/sec) using various Attribute settings

    Write\ReadDSRNNSNRANANSANRAASAR
    D 31.23 41.29 47.6318.60 18.88 18.47 14.36 14.44 14.23 11.46 26.16 25.04
    S 39.88 42.37 39.06 17.08 18.01 17.29 14.02 14.28 14.18 23.99 18.02 23.54
    R 46.26 45.8139.46 17.37 17.97 17.99 14.05 13.49 14.55 26.27 25.79 25.39
    N 31.17 38.31 32.42 15.27 16.17 15.41 12.27 12.64 13.25 22.03 23.70 22.03
    NS 32.17 34.91 32.43 15.92 16.56 15.26 12.38 12.82 12.99 22.94 21.41 23.02
    NR 32.49 32.44 34.12 16.27 14.58 14.92 12.96 12.64 12.56 22.21 23.07 23.52
    AN 35.37 37.26 34.21 15.22 15.13 15.63 12.49 12.66 12.87 21.77 23.44 21.89
    ANS35.37 36.67 35.46 15.00 16.58 15.36 12.22 12.61 12.99 23.39 23.89 22.65
    ANR32.73 30.00 34.64 14.92 14.77 15.01 12.40 12.66 12.06 22.82 21.91 21.79
    A 42.12 32.75 31.21 18.62 16.97 17.63 14.50 13.96 14.22 25.05 18.12 25.66
    AS 42.58 42.35 37.49 17.59 15.24 16.84 13.48 14.74 13.83 19.91 20.03 18.85
    AR 40.68 39.67 33.70 17.91 19.16 19.38 13.74 15.14 13.36 16.35 19.26 20.02


      Download source code: Dennis Lang's   TimeWinIO.zip   (Windows only)

    Top
    Home