Why are start-up times faster on Windows 7 than on XP? [closed]

Reading a hotter question Why are start-up times faster on Windows 8? There is a great answer there by ClickUpvote, which shows some design differences that makes 8 faster:

Difference between win7 and win8: Difference between win7 and win8

I began to wonder if the same effect could be explained between good ol' Windows XP and Windows 7. It should be due to different reasons though, since the architecture here has changed much more.

Why does Windows 7 start|boot up much faster, compared to Windows XP? What exactly has changed in the architecture that made it faster?


Solution 1:

The Engineering Windows 7 Blog explains this in about as much detail as you'd want to know.

First off, it appears that Microsoft worked with OEM partners to get rid of some of the crapware cruft that comes on OEM machines:

Before discussing some of our Windows 7 efforts, we’d like to point out there is considerable engagement with our partners underway. In scanning dozens of systems, we’ve found plenty of opportunity for improvement and have made changes. Illustrating that, please consider the following data taken from a real system. As the system arrived to us, the off-the-shelf configuration had a ~45 second boot time. Performing a clean install of Vista SP1 on the same system produced a consistent ~23 second boot time. Of course, being a clean install, there were many fewer processes, services and a slightly different set of drivers (mostly the versions were different). However, we were able to take the off-the-shelf configuration and optimize it to produce a consistent boot time of ~21 seconds, ~2 seconds faster than the clean install because some driver/BIOS changes could be made in the optimized configuration.

There was also an effort to reduce the number of services that Windows needs:

As an example Windows 7 effort, we are working very hard on system services. We aim to dramatically reduce them in number, as well as reduce their CPU, disk and memory demands. Our perspective on this is simple; if a service is not absolutely required, it shouldn’t be starting and a trigger should exist to handle rare conditions so that the service operates only then.

Speeding up driving initialisation also helps:

As noted above, device and driver initialization can be a significant contributor as well. In Windows 7, we’ve focused very hard on increasing parallelism of driver initialization. This increased parallelism decreases the likelihood that a few slower devices/drivers will impact the overall boot time.

Finally, the post mentions that there are now better tools for troubleshooting poor startup time (possibly a reference to WPT), which I am assuming allows Microsoft and users to identify slow startup issues more quickly:

There are improved diagnostic experiences in Windows 7 as well. We aim to quickly identify specific issues on individual systems, and provide help to assist in resolving the issues. We believe this is an appropriate way to inform users about some problems, such as having too many startup applications or the presence of lengthy domain-oriented logon scripts. As many users know, having too many startup applications is often the cause of long boot times. Few users, however, are familiar with implications of having problematic boot or logon scripts. In Windows XP, Vista and in Windows 7, the default behavior for Windows is to log the user into the desktop without waiting for potentially lengthy networking initialization or scripts to run.