How to prefetch?

AlexRD

Member
I want to choose which items to Prefetch.
For Example:
I want a PPT file to be prefetched.

What do i do?

Is it possible?
 

My Computer

System One

  • Manufacturer/Model
    Asus G2s
    CPU
    2.20 GHz Core 2 Duo T7500 :\Santa Rosa/:
    Memory
    1x 2GB DDR2 Kingston ; 1x 1GB DDR2 Kingston
    Graphics Card(s)
    Nvidia GEFORCE 8600M GT 256mb Dedicated, 768mb RAM
    Sound Card
    Realtek High Definition Audio
    Monitor(s) Displays
    17" Generic PnP
    Screen Resolution
    1440x1280
    Hard Drives
    300 GB Fujitsu MHX2300BT 4200 RPM
    Keyboard
    Asus G2s Keyboard from Logitech
    Mouse
    ALPS Pointing Device ; Logitech Asus G2 Mouse
    Internet Speed
    2 MB Wireless Network
Prefetch is relatively simple, at least conceptually. It monitors OS bootup and the first (IIRC) 10 seconds of each process startup, and makes a list of the code and data pages of memory which were accessed during that time.

For each process, it then stores a *.pf file in the \prefetch folder which simply describes all the stuff that needs to be loaded during that 10sec interval. The next time a particular process is started, prefetch causes the disk heads to move as little as possible (they follow a linear path) in order to grab all that data.

There's also a link to the system defragmenter. If a bunch of pages are observed to be regularly loaded into memory at the same time, the defragger will place them consecutively on the disk, irrespective of whether they're fragments of different files (exes or DLLs). In a way, prefetch is more about disk scheduling than anything else.

Superfetch is a Vista thing which is more difficult to explain. The short version is that it causes pages of memory which have been recently pushed out of a processes working set (portion of the process that's in RAM) to be paged back in at a low priority. There's also a "historical" aspect to it - the user's past activity influences what superfetch preloads into RAM.

Either way, the answer to your question is "load the PPT file into the app yourself". If you do it within the first 10sec of the process starting up, prefetch will help from then onwards. Otherwise, superfetch will eventually work out that this thing is important to you.

FYI, in both cases the unit of access is the "page" (4KB on x86), as opposed to entire files. These mechanisms don't directly understand the concept of files in the PPT, DOC, XLS(...) sense.
 

My Computer

Back
Top