Running Idle tasks before XPerf

I am working on profiling impacts of software on the performance of the OS. I'm testing on Windows 7 RC 7100 x86. It is predominantly to get a feel for the complexity. I want to know how much effort it would entail to wrap this up into an offering for our partners. I'm running it in a Hyper-V VM but it should give me a solid idea.

Last week I spent most of the time with my colleague Mark installing and getting DTM to run. Mark has done this way more and his relentless demeanor gets him into territories that give me nightmares. DTM is one of them but we got it done and I feel somewhat comfortable running the tests.

The COSD performance guys have put some nice performance tests together. They ship with the WLK under SPPT. Some of the tests under there can't be run under virtual machines (hibernate), but others can. So I ran three tests: 15 minute idle, boot and shutdown. While I still need to make sense out of the gathered data, one thing I noticed in one of the 15 minute idle traces is a 2% CPU hit by rundll32.exe. Digging through the tons of data that xperf provides, I was able to find that this was in effect System Restore.

Going back through "Measuring Performance on Windows Vista", it is noted there that you can either wait three days or run "rundll32 advapi32.dll,ProcessIdleTasks". That helped.