David,
I've written a disk I/O tester for testing :
small to large direct addressable binary files
on HDD and SSD
using XP and Win7
It goes through the stages of
opening (a new file)
writing
reading
writing randomly
reading randomly
closing and
deleting
It is interesting to see the elapsed time for each stage, especially reading and closing. Closing has a significant effect on measured elapsed time performance for what I expect is flushing the buffers, which I should test to identify the flushing effect of CLOSE vs reOPEN. (This is especially the case where the file size is less than the amount of physical memory, which was 2 to 4gb but is now typically 8 to 12 gb)
File size is tested in comparison to the amount physical memory installed, showing a significant difference between XP and Win7.
Retesting is becoming a problem, as I've lost most access to XP, which is not a bad thing when considering file buffers.
Also a few work pressures at the moment, so not the time available to do the retest, for more emphasis on the flush time. Will get back with some results when I can.
This use of FLUSH could be a good thing to consider, especially when testing a run time bug, where the file buffers are lost. Installing some temporary FLUSH commands might help, if you can anticipate where the bug is. Alternatively, it would be easier to have a buffer flush when an access violation or similar error occurs.
John