Improving Boot Times

A common topic of discussion in the Windows world – in fact, in any operating system – is boot performance. Many systems take a long time to reach a usable desktop from the moment the power switch is pressed, and this can be quite annoying if it takes too long. In a post on the Engineering 7 blog, Michael Fortin, lead engineer of Microsoft’s Fundamentals/Core Operating System Group, explains what Microsoft is doing to make Windows 7 boot faster.

The goal of Windows 7 is to make most systems have a cold boot time of 15 seconds or less. Data from the Customer Experience Improvement Program shows that 35% of Windows Vista SP1 systems boots in under 30 seconds, and that 75% boots in under 50 seconds. These results are confirmed by external analysis. In these metrics, a boot is completed once the system has logged on and a usable desktop is presented to the user. “It is not a perfect metric,” Fortin admits, “but one that does capture the vast majority of issues.”

Fortin admits that too few systems have proper, fast boot times “and we have to do much better”. One of the first things Fortin explains – even though he doesn’t flat out say it – is that boot times of off-the-shelf systems can be dramatically improved simply by removing al of the crapware that OEMs include in their systems. Installing a clean installation of Windows Vista SP1 on such an OEM machine can cut the boot time nearly in half. It could be further improved by making some BIOS changes.

The improvements planned for Windows 7 are:

  • Increased parallelism of driver initialization
  • Improvements in the “prefetching” logic and mechanisms (and questioning its use when it comes to SSDs)
  • Better diagnostics tools and more help for users to fix boot issues

In addition, Fortin explains that many third party programs simply aren’t of a high enough standard, and that they can seriously affect boot performance. “Microsoft must continue to provide the tools for developers to write high performance software and the tools for end-users to identify the software on their system that might contribute to performance that isn’t meeting expectations. Windows itself must also continue to improve the defensive tactics it uses to isolate and inform the end-user about software that might contribute to poor performance.”

92 Comments

  1. 2008-09-01 9:23 am
    • 2008-09-01 9:33 am
      • 2008-09-01 10:56 am
        • 2008-09-01 9:53 pm
          • 2008-09-02 5:54 am
        • 2008-09-01 10:36 pm
          • 2008-09-02 1:57 pm
          • 2008-09-02 9:54 pm
    • 2008-09-01 9:34 am
      • 2008-09-01 11:05 am
        • 2008-09-01 11:27 am
          • 2008-09-01 12:41 pm
          • 2008-09-06 6:54 pm
        • 2008-09-01 12:55 pm
        • 2008-09-01 9:39 pm
        • 2008-09-01 9:55 pm
          • 2008-09-03 1:45 am
    • 2008-09-01 9:35 am
      • 2008-09-01 8:42 pm
        • 2008-09-06 6:58 pm
      • 2008-09-01 10:39 pm
    • 2008-09-01 9:41 am
      • 2008-09-02 6:46 am
    • 2008-09-01 9:43 am
      • 2008-09-01 10:52 am
        • 2008-09-02 4:20 pm
    • 2008-09-01 4:46 pm
    • 2008-09-01 7:10 pm
    • 2008-09-02 11:00 am
  2. 2008-09-01 9:31 am
    • 2008-09-01 9:39 am
      • 2008-09-01 10:42 pm
      • 2008-09-02 3:00 am
        • 2008-09-02 3:47 am
        • 2008-09-02 6:18 am
    • 2008-09-01 10:01 am
      • 2008-09-01 10:13 am
        • 2008-09-01 10:22 am
        • 2008-09-01 10:24 am
          • 2008-09-01 10:27 am
          • 2008-09-01 10:32 am
          • 2008-09-01 10:33 am
          • 2008-09-01 10:40 am
          • 2008-09-01 1:45 pm
          • 2008-09-01 2:03 pm
          • 2008-09-01 2:45 pm
          • 2008-09-01 8:49 pm
          • 2008-09-01 3:56 pm
          • 2008-09-01 4:18 pm
        • 2008-09-01 7:38 pm
          • 2008-09-01 8:15 pm
    • 2008-09-01 8:15 pm
    • 2008-09-01 9:58 pm
    • 2008-09-02 3:35 am
      • 2008-09-02 6:07 am
  3. 2008-09-01 9:37 am
    • 2008-09-01 10:36 am
      • 2008-09-01 10:51 am
  4. 2008-09-01 11:03 am
  5. 2008-09-01 11:24 am
  6. 2008-09-01 11:35 am
    • 2008-09-06 7:44 pm
  7. 2008-09-01 11:56 am
    • 2008-09-01 12:51 pm
    • 2008-09-01 10:53 pm
  8. 2008-09-01 12:06 pm
  9. 2008-09-01 12:38 pm
    • 2008-09-01 7:21 pm
  10. 2008-09-01 3:19 pm
  11. 2008-09-01 4:17 pm
  12. 2008-09-01 4:38 pm
  13. 2008-09-01 5:51 pm
    • 2008-09-01 8:28 pm
      • 2008-09-01 11:05 pm
  14. 2008-09-01 6:58 pm
    • 2008-09-01 9:39 pm
      • 2008-09-03 3:05 am
        • 2008-09-06 8:18 pm
  15. 2008-09-01 8:51 pm
    • 2008-09-02 5:53 am
  16. 2008-09-01 9:11 pm
  17. 2008-09-01 10:17 pm
    • 2008-09-02 2:11 pm
  18. 2008-09-02 2:08 am
  19. 2008-09-02 3:36 am
    • 2008-09-03 1:59 am
  20. 2008-09-02 6:46 am
    • 2008-09-02 8:39 am
  21. 2008-09-02 5:49 pm
  22. 2008-09-03 4:23 pm
  23. 2008-09-05 12:03 am