views:

33

answers:

1

Hi,

I have been investigating the windows Prefetching system hoping to find a way to speed up the load time of an application I am working on. I found the following link where a developer describes modifications to the prefetcher registry values:

http://dotnet.dzone.com/news/improving-cold-startup

I have made similar modifications locally and found that they do provide faster application loading times. My problem is that I cannot find any documentation on the registry values that were changed and why the new values are better than the old ones.

So my question in short is, does anybody have any further information on the prefetcher registry values given below:

VideoInitTime EnablePrefetcher AppLaunchMaxNumPages AppLaunchMaxNumSections AppLaunchTimerPeriod BootMaxNumPages BootMaxNumSections BootTimerPeriod MaxNumActiveTraces MaxNumSavedTraces RootDirPath HostingAppList

Thanks in a advance.

A: 

You don't say what profiling or other changes you've done, and when people dive in with off-the-wall solutions to perf problems but don't describe how they arrived at the need for them, I'm always a bit doubtful.

Where is your app spending its start-up time? How did you measure that? Can you fix an underlying '300 dlls' problem of the type described in that article?

Messing with OS prefetch policy may being improving your application at the expense of everyone else, which may be the right thing to do (on a single-use industrial control system or something like that), but may be completely antisocial.

"Load less code" is often a good general way to improve application startup time - do you have some very expensive config file storage mechanism, for example (XmlSerializer was notorious for this at one point, for example).

Will Dean