Using Prefetch with XPe

Prefetch is a part of Memory Management that helps speed up the Windows boot process by shortening the time programs take to start up (basically a type of caching).

The prefetcher function can be set in the following registry key:

Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
Name: EnablePrefetcher
Type: REG_DWORD
Value: 0

However, in order to use this function with XP Embedded you will need to add the Task Scheduler component to your configuration in Target Designer, as Task Scheduler writes trace data from the Cache Manager to the \Windows\Prefetch folder. 

The footprint hit to the runtime is negligible (approximately 1MB, depending on your configuration) as Task Scheduler has minimal dependencies (most of them are already in a vast majority of runtime configurations):

Common Control Libraries Version 5
Common File Dialogs
Event Log
Local Security Authority Subsystem (LSASS)
Microsoft Visual C++ Run Time
Primitive: Imagehlp
Primitive: Mpr
Primitive: msidle.dll
Primitive: Netapi32
Primitive: Ntdll
Primitive: Ole32
Primitive: Rundll32
Primitive: Secur32
Primitive: Shell32
Primitive: Shlwapi
Primitive: Userenv
Primitive: Version
Primitive: Ws2_32
Primitive: Wtsapi32
RPC Local Support
Windows API - Advanced
Windows API - GDI
Windows API - Kernel
Windows API - User

NOTE: EWF performance may be negatively impacted by enabling Prefetch on your runtime - see this article. The same recommendation for disabling Prefetch applies to FBWF as well.

- Lynda

Technorati Tags: XPe, Componentization