Greater Than 128 MB—More Demanding Applications 19
Evaluation Issues 20
Upgrade vs. Fresh Installation 20
First Boot vs. Subsequent Boots 21
For More Information 23
Microsoft® Windows® XP offers you many new features. And its excellent overall performance—which includes dramatically faster boot and resume times, along with highly responsive applications—creates the conditions for a very satisfying user experience.
For most computers that meet Microsoft’s minimum recommended hardware requirements, Windows XP is the best-performing Windows operating system ever created. This paper addresses some of the key performance improvements in Windows XP, and highlights some of the issues you should keep in mind when evaluating a system configuration.
Because Windows XP is still in development, Microsoft is not able to provide you with hard performance numbers at this time—though benchmarks from an objective, third-party reviewer will be provided in the not-too-distant future. Until then, the information presented here will help you understand more about Windows XP and about its resource requirements.
Memory and Performance
Memory and Performance
Microsoft recommends that computers running Windows XP have at least 128 megabytes (MB) of random access memory (RAM) installed. For this memory size, Windows XP has shown itself to be consistently superior to previous versions of Windows. Performance only gets better with additional resources, particularly when you run memory-intensive multimedia applications. Many users will want to expand their computer’s memory to take advantage of multimedia applications and to achieve even better performance.
In general, adding memory is the easiest and most effective way to improve a computer’s performance. Although it is recommended, Windows XP does not require 128 MB of RAM. The operating system can run with 64 MB of RAM. For many workloads that involve Web browsing, e-mail, and other activities, 64 MB of RAM will provide you with a user experience equivalent or superior to that of Windows Millennium Edition (Windows Me) running on the same hardware. If you’re satisfied with using Windows Me on lower-end computers, you should find Windows XP a satisfactory upgrade
Other Factors Affecting Performance
There are factors other than memory that affect the performance of a particular computer operating under a particular workload. CPU speed, particularly in regard to applications, can affect performance. While Windows XP does not require a state-of-the-art processor for a good user experience—the minimum is a 300-megahertz (MHz) Pentium II-class processor—the system can benefit from faster hardware. The operating system, particularly the Windows XP user interface (UI), is sensitive to the quality of the video subsystem and video drivers. On-board video memory will ease the processing burden on the general purpose RAM used by the operating system and applications. And because individual drivers can cause problems for system performance, Microsoft is working with the industry to ensure that high-quality drivers are available for the broadest cross section of devices possible.
Good operating system performance is a top priority for Microsoft. As Windows XP was developed, its performance was constantly examined—and re-examined. The effects of new features and services were assessed, problems were diagnosed, and performance improvements were measured. New designs and algorithms were prototyped and incorporated in the operating system where performance was a problem.
The Assessment Process
Assessing system performance requires a variety of approaches and workloads that represent how the operating system will be used. Some operations, like booting the system, can be timed in isolation, but other operations can only be meaningfully measured when tested using a realistic workload. To determine the overall suitability of a system, there is no substitute for actual daily use.
The Windows Performance Team used both externally- and internally-written benchmarks, in addition to side-by-side comparisons, to measure the performance of successive versions of Windows XP. In addition to using realistic benchmarks, Windows developers put their trust in their work by using Windows XP to conduct their everyday business—their intent was to experience what you would experience.
Windows XP has been released in internal and external beta programs, giving thousands of users a chance to test and use the system. Many issues with responsiveness and resource consumption were identified and corrected. This extensive use has led to a better understanding of your real needs.
Looking Behind the Benchmarks
The benchmarks and other standard workloads used to assess Windows XP produced insight into its operations and spurred performance improvements. While Windows XP does very well on these benchmarks, its performance gains are not restricted to artificial benchmarking situations. The benchmarks Microsoft used are too diverse and too long-running for any simple “tune-to-the-benchmark” strategy to work. Instead, the good performance of Windows XP comes from solid resource management algorithms; reductions in the memory footprint; and improvements in the implementations of the file system, the registry, and other system components.
One of the most important ways Microsoft assessed the experience you’ll have when using Windows XP was by performing side-by-side comparisons between Windows XP and other versions of Windows. This was done on identically configured computers.
How It Was Done
This side-by-side analysis was conducted by two people who went through a rehearsed scenario, such as using Office productivity applications, browsing the Web, or playing games. Their subjective feel of the systems was judged and performance differences noted. Information was communicated to Microsoft developers, who isolated and corrected any problems.
Microsoft found that Windows XP delivers a user experience equivalent or superior to previous versions of Windows—for computers meeting or exceeding the minimum hardware requirements. A superior user experience was most pronounced for computers using 128 MB or more of RAM—particularly for desktop multiprocessor workstations.
Proving the Point
Although the finding that Windows XP delivers a user experience equivalent or superior to previous versions of Windows is subjective at this time, Microsoft is confident that this finding will be duplicated by objective outside testers in the not too distant future.
Applications Used for Benchmarking
The following commercial benchmarks were used to assess the performance of Windows XP:
eTesting Labs’ Business Winstone 2001 and Content Creation Winstone 2001
BAPCo’s Webmark 2001 and SysMark 2001
PC World’s PCWorldBench
MadOnion’s 3DMark 2000 (gaming)
ETestingLabs’ 3D WinBench 2000 (gaming)
The Benchmarking Process
Benchmarks were designed to take into account realistic workloads and were applied to a wide variety of programs. This broad sample of programs provided a significant number of reproducible user scenarios. These benchmarks were run for a considerable period of time—some benchmarks lasted for more than an hour for each run. Achieving good results across this range of workloads and programs required consistent and efficient resource management—Windows XP provided that management.
The applications included in these benchmarks covered a broad spectrum of user interests and needs. They provided a broad scope for determining application requirements and behaviors, and were essential for understanding how Windows XP would really behave during daily use.
When you turn on a desktop or laptop computer running Windows® XP, or resume from standby or hibernation, you will find that your computer is ready to use much faster than when you’re using Windows 2000.
Booting and Logging On
The computer must go from being turned off the point where it is ready to accept logons. This includes starting the computer, going through the BIOS initialization, loading the operating system, and initializing devices. When you log on, the computer brings up the user desktop.
The time it takes to display a typical new desktop (after turning on the computer and logging on) should happen in well under 30 seconds—many computers boot in 20 seconds or less. There are some situations where interactions across the network will be required for logging on; this will lengthen the time it takes to log on, but the number of situations requiring such interactions is much smaller than when using Windows 2000. In fact, the default procedure for logging on to a Windows XP domain is to use cached credentials.
Resume from Standby and Hibernation
Standby and hibernation are two alternatives that are particularly important for laptop users seeking to conserve battery life. Rather than logging off from a user session and turning off the computer, you can choose either standby or hibernate. Windows XP significantly increases the speed of going into and coming out of standby and hibernate.
Standby is a low power state from which you can resume working with your desktop and applications intact. When using standby the contents in memory are kept in volatile RAM. Many newer laptops resume from standby in less than two seconds. Hibernation saves the contents in memory to disk in compressed form, allowing the computer to be turned completely off. Again, you can resume with your desktop and applications intact. Many newer laptops resume from hibernate in 20 seconds to 30 seconds, but the actual time it takes to do this is heavily dependent upon the contents in memory at the time you choose to hibernate your computer.
The Startup Process in Detail
When a computer boots, many things have to happen, such as the initialization of devices and a wide variety of system functions and services. Several important changes have been made in Windows XP that dramatically reduce the time it takes for this initialization process to complete.
These changes include the following:
Improvements to the Boot Loader
Improvements to the boot loader and to a number of key drivers have made them much faster. Registry initialization is also faster, and many manufacturers have dramatically reduced the time taken by their BIOS prior to running the operating system.
I/O Can Be Overlapped with Device Initialization
Using Windows® 2000, each disk input/output (I/O) may require the disk head to move to some new location and the disk to rotate to some degree. The result is that typical desktop disks can only complete 80 I/Os to100 I/Os each second. Laptop disks are often even slower. This poor I/O rate lengthens the boot time considerably for Windows 2000.
Windows XP improves this poorly organized I/O process by “prefetching” much of the operating system at the same time that devices are being initialized. In this way, the I/O can be overlapped with the device initialization process. The effect is that code being executed, and data that must be read during the boot, can be scattered about the disk with no perceptible effect on startup time performance.
Dynamic Determination of Code and Data Needed During Boot
By observing successive boots of the system, Windows XP can dynamically determine the code and data needed for the boot and can optimize the placement of these files on the disk. When the computer boots, Windows XP can issue large I/O requests that can be handled efficiently with high throughput. Moreover, the operating system can find opportunities to issue these requests so that they will overlap in time with device detection and initialization. This is done in a way that will not add to the overall boot time. This allows for subsequent processing to occur with the operating system substantially resident in memory, and dramatically decreases the time needed for the system to boot.
See Figure 1 for an illustration of disk I/O for booting without prefetching, and Figure 2 for an illustration of booting with prefetching.
Figure 1 Disk I/O for booting without prefetch; the bottom graph shows the I/Os per second, while the top graph shows the pattern on the disk
(Refer to legend in Figure 2)
Figure 2 Booting with prefetching: Everything gets done much more quickly, because seek costs have been significantly reduced; high I/O efficiency comes from improvements in layout and from issuing the I/O as a single large "shopping list"
Note A fresh installation will require three boots before the observation and optimization for fast boot is complete.
Working With OEMs and IHVs to Improve Driver Quality
In addition to speeding up I/O during the boot process, Microsoft has worked closely with its original equipment manufacturer (OEM) and independent hardware vendor (IHV) partners to reduce delays in initializing devices. Many of the drivers loaded on a system are written by other manufacturers, and a poorly written driver can greatly add to the time needed to boot.
To learn more about how Microsoft and its OEM partners are working to speed boot and resume times, read Fast Boot/Fast Resume for the Windows Platform.
Windows XP speeds up the initialization of the logon session by using prefetching, and by eliminating many unnecessary network delays—though of course there are situations where interactions across a network will be necessary. For example, some group policy changes will require your computer to exchange information across a network, and roaming profiles rely on interchanges of this sort. Many other interactions, however, can be safely eliminated. In Windows XP these interactions have been removed when possible; for example, by having the system use cached credentials for the user. Thus, network delays have been eliminated from the normal path for user logon—even in a domain.
Overall, these Windows XP logon improvements result in a much more satisfying user experience. This includes the centralized administration benefits provided by Microsoft Active Directory™.
Resume from Standby
When resuming from standby, the operating system sends commands to the computer’s devices that inform them of the change in power state. There are constraints on the order in which devices can return to their normal active state. Because it can take significant time for a device to change to the active state, the key to good resume performance is to overlap device initialization as much as possible. Therefore, the ordering chosen by the operating system is important in maximizing parallelism.
Maximizing Potential Parallelism
In Windows XP the algorithm for informing devices and applications of the power state change has been rewritten to maximize potential parallelism. The key system drivers have been improved to eliminate blocking interactions among them and to decrease the likelihood that they will get blocked behind other system activities.
It is still possible that in the course of resuming delays will occur. For example, it’s possible that page faults will occur that cannot be addressed until the disks are fully initialized and spun up. Sometimes a delayed program will hold locks that will not be released until the program can continue. Such vulnerabilities may occasionally slowdown resume. The time taken will also depend upon the quality of drivers for devices— including other drivers not supplied by Microsoft—and the computer’s BIOS.
Microsoft has been working with its OEM partners to ensure that your computer lives up to its potential for fast resume.
Resume from Hibernation
During hibernation, all devices are turned off, and the system’s physical memory is written to disk in the system hibernation file. Before hibernating, Windows XP writes the important parts of memory to the hibernation file in a compressed format.
The speed with which hibernation can be completed has been improved by optimizations in the compression algorithms, and by overlapping compression with DMA (Direct Memory Access) transfers to disk. As a result, the compression time is almost completely overlapped with the I/O for most hardware. The speed of resuming from hibernation also benefits from improvements in the boot loader (which also affects the system boot), and from improvements in device initialization routines that are common with resume from standby.
The time that it takes to resume from hibernate can vary considerably. The amount of system resources needed to resume from hibernation is comparable to the amount needed to boot the computer; but in this case, the computer must also read back and decompress whatever “dirty” pages were saved while going into hibernation. Thus the time to resume from hibernation depends on how much RAM the computer has installed, the applications that were running, and what state those applications were in when the computer went into hibernation.