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. stooovie 2008-09-01 9:23 am EST
    • Kroc 2008-09-01 9:33 am EST
      • stooovie 2008-09-01 10:56 am EST
        • stestagg 2008-09-01 9:53 pm EST
          • stooovie 2008-09-02 5:54 am EST
        • modmans2ndcoming 2008-09-01 10:36 pm EST
          • turrini 2008-09-02 1:57 pm EST
          • Tom K 2008-09-02 9:54 pm EST
    • el3ktro 2008-09-01 9:34 am EST
      • l3v1 2008-09-01 11:05 am EST
        • el3ktro 2008-09-01 11:27 am EST
          • pxa270 2008-09-01 12:41 pm EST
          • gustl 2008-09-06 6:54 pm EST
        • stooovie 2008-09-01 12:55 pm EST
        • flanque 2008-09-01 9:39 pm EST
        • stestagg 2008-09-01 9:55 pm EST
          • null_pointer_us 2008-09-03 1:45 am EST
    • kragil 2008-09-01 9:35 am EST
      • pantsgolem 2008-09-01 8:42 pm EST
        • gustl 2008-09-06 6:58 pm EST
      • modmans2ndcoming 2008-09-01 10:39 pm EST
    • Ultimatebadass 2008-09-01 9:41 am EST
      • MamiyaOtaru 2008-09-02 6:46 am EST
    • chekr 2008-09-01 9:43 am EST
      • stooovie 2008-09-01 10:52 am EST
        • sanctus 2008-09-02 4:20 pm EST
    • eggs 2008-09-01 4:46 pm EST
    • PlatformAgnostic 2008-09-01 7:10 pm EST
    • rtfa 2008-09-02 11:00 am EST
  2. Kroc 2008-09-01 9:31 am EST
    • el3ktro 2008-09-01 9:39 am EST
      • modmans2ndcoming 2008-09-01 10:42 pm EST
      • pixel8r 2008-09-02 3:00 am EST
        • apoclypse 2008-09-02 3:47 am EST
        • el3ktro 2008-09-02 6:18 am EST
    • Ultimatebadass 2008-09-01 10:01 am EST
      • Kroc 2008-09-01 10:13 am EST
        • Matzon 2008-09-01 10:22 am EST
        • Thom Holwerda 2008-09-01 10:24 am EST
          • Kroc 2008-09-01 10:27 am EST
          • Thom Holwerda 2008-09-01 10:32 am EST
          • Kroc 2008-09-01 10:33 am EST
          • Thom Holwerda 2008-09-01 10:40 am EST
          • -oblio- 2008-09-01 1:45 pm EST
          • Kroc 2008-09-01 2:03 pm EST
          • Thom Holwerda 2008-09-01 2:45 pm EST
          • stooovie 2008-09-01 8:49 pm EST
          • helf 2008-09-01 3:56 pm EST
          • Kroc 2008-09-01 4:18 pm EST
        • tupp 2008-09-01 7:38 pm EST
          • Thom Holwerda 2008-09-01 8:15 pm EST
    • Nelson 2008-09-01 8:15 pm EST
    • stestagg 2008-09-01 9:58 pm EST
    • Anonymo 2008-09-02 3:35 am EST
      • hollovoid 2008-09-02 6:07 am EST
  3. dagw 2008-09-01 9:37 am EST
    • pysiak 2008-09-01 10:36 am EST
      • dagw 2008-09-01 10:51 am EST
  4. Laurence 2008-09-01 11:03 am EST
  5. pxa270 2008-09-01 11:24 am EST
  6. mxcl 2008-09-01 11:35 am EST
    • gustl 2008-09-06 7:44 pm EST
  7. OSGuy 2008-09-01 11:56 am EST
    • Timmmm 2008-09-01 12:51 pm EST
    • segedunum 2008-09-01 10:53 pm EST
  8. luzr 2008-09-01 12:06 pm EST
  9. bralkein 2008-09-01 12:38 pm EST
    • PlatformAgnostic 2008-09-01 7:21 pm EST
  10. Alleister 2008-09-01 3:19 pm EST
  11. Chatbox 2008-09-01 4:17 pm EST
  12. TBPrince 2008-09-01 4:38 pm EST
  13. DonQ 2008-09-01 5:51 pm EST
    • kaiwai 2008-09-01 8:28 pm EST
      • segedunum 2008-09-01 11:05 pm EST
  14. mrentropy5 2008-09-01 6:58 pm EST
    • renhoek 2008-09-01 9:39 pm EST
      • thavith_osn 2008-09-03 3:05 am EST
        • gustl 2008-09-06 8:18 pm EST
  15. hraq 2008-09-01 8:51 pm EST
    • stooovie 2008-09-02 5:53 am EST
  16. notig 2008-09-01 9:11 pm EST
  17. blastzilla 2008-09-01 10:17 pm EST
    • turrini 2008-09-02 2:11 pm EST
  18. eantoranz 2008-09-02 2:08 am EST
  19. apoclypse 2008-09-02 3:36 am EST
    • null_pointer_us 2008-09-03 1:59 am EST
  20. bryhhh 2008-09-02 6:46 am EST
    • REM2000 2008-09-02 8:39 am EST
  21. mickrussom 2008-09-02 5:49 pm EST
  22. BrendaEM 2008-09-03 4:23 pm EST
  23. pinochet 2008-09-05 12:03 am EST