Increased Performance Using FILE_FLAG_SEQUENTIAL_SCAN
ID: Q98756
|
The information in this article applies to:
-
Microsoft Win32 Application Programming Interface (API), included with:
-
Microsoft Windows NT, versions 3.1, 3.5, 3.51
-
Microsoft Windows 95
SUMMARY
There is a flag for CreateFile() called FILE_FLAG_SEQUENTIAL_SCAN which
will direct the Cache Manager to access the file sequentially.
Anyone reading potentially large files with sequential access can specify
this flag for increased performance. This flag is useful if you are reading
files that are "mostly" sequential, but you occasionally skip over small
ranges of bytes.
MORE INFORMATION
The effect on the Cache Manager of this flag is two-fold:
- There is a minor savings because the Cache Manager dispenses with
keeping a history of reads on the file, and tries to maintain a
high-water mark on read ahead, which is always a certain delta from
the most recent read.
- More importantly, the Cache Manager reads further ahead for
sequential access files--currently about three times more than
files that are currently detected for sequential access.
If the caller makes multiple passes through a file, there are no negative
effects of specifying the sequential flag, because the Cache Manager will
still disable read ahead for as long as the application is getting hits on
the file (such as on the second or subsequent pass).
If you are working on an application where your ability to sequentially
read file data is key to performance, you may want to consider adding the
sequential flag to your create file call. This is especially true of
applications that use this flag to read from a CD-ROM.
Additional query words:
3.10 3.50 4.00
Keywords : kbNTOS310 kbNTOS350 kbNTOS351 kbWinOS95
Version :
Platform :
Issue type :
|