Windows 7 -- Approach to System Performance


Recommended Posts

Engineering Windows 7

Many folks have commented and written email about the topic of performance of Windows. The dialog has been wide ranging?folks consistently want performance to improve (of course). As with many topics we will discuss, performance, as absolute and measurable as it might seem, also has a lot of subtlety. There are many elements and many tradeoffs involved in achieving performance that meets everyone?s expectations. We know that even meeting expectations, folks will want even more out of their Windows PCs (and that?s expected). We?ve re-dedicated ourselves to work in this area in Windows 7 (and IE 8). This is a major initiative across each of our feature teams as well as the primary mission of one of our feature teams (Fundamentals). For this post, I just wanted to frame the discussion as we dig into the topic of performance in subsequent posts. Folks might find this post on IE8 performance relevant along with the beta 2 release of IE 8.

Performance is made up of many different elements. We could be talking about response time to a specific request. It might mean how much RAM is ?typical? or what CPU customers need. We could be talking about the clock time to launch a program. It could mean boot or standby/resume. It could mean watching CPU activity or disk I/O activity (or lack disk activity). It could mean battery life. It might even mean something as mundane as typical disk footprint after installation. All of these are measures of performance. All of these are systematically tracked during the course of development. We track performance by running a known set of scenarios (there are thousands of these) and developers can run specific scenarios based on exercising more depth or breadth. The following represent some (this is just a partial list) of the metrics we are tracking and while developing Windows 7:

* Memory usage ? How much memory a given scenario allocates during a run. As you know, there is a classic tradeoff in time v. space in computer science and we?re not exempt. We see this tradeoff quite a bit in caches where you can use more memory (or disk space) in order to improve performance or to avoid re-computing something.

* CPU utilization ? Clearly, modern microprocessors offer enormous processing power and with the advent of multiple cores we see the opportunity for more parallelism than ever before. Of course these resources are not free so we measure the CPU utilization across benchmark runs as well. In general, the goal should be to keep the CPU utilization low as that improves multi-user scenarios as well as reduces power consumption.

* Disk I/O ? While hard drives have improved substantially in performance we still must do everything we can do minimize the amount that Windows itself does in terms of reading and writing to disk (including paging of course). This is an area receiving special attention for Windows 7 with the advent of solid state storage devices that have dramatically different ?characteristics?.

* Boot, Shutdown, Standby/Resume ? All of these are the source of a great deal of focus for Windows 7. We recognize these can never be fast enough. For these topics the collaboration with the PC manufacturers and hardware makers plays a vital role in making sure that the times we see in a lab (or the performance you might see in a ?clean install?) are reflected when you buy a new PC.

* Base system ? We do a great deal to measure and tune the base system. By this we mean the resource utilization of the base system before additional software is loaded. This system forms the ?platform? that defines what all developers can count on and defines the system requirements for a reasonable experience. A common request here is to kick something out of the base system and then use it ?on demand?. This tradeoff is one we work on quite a bit, but we want to be careful to avoid the situation where the vast majority of customers face the ?on demand? loading of something which might reduce perceived performance of common scenarios.

* Disk footprint ? While not directly related to runtime performance, many folks see the footprint of the OS as indicative of the perceived performance. We have some specific goals around this metric and will dive into the details soon as well. We?ll also take some time to explain \Windows\WinSxS as it is often the subject of much discussion on technet and msdn! Here rather than runtime tradeoffs we see convenience tradeoffs for things like on disk device drivers, assistance content, optional Windows components, as well as diagnostics and logging information.

We have criteria that we apply at the end of our milestones and before we go to beta and we won?t ship without broadly meeting these criteria. Sometimes these criteria are micro-benchmarks (page faults, processor utilization, working set, gamer frame rates) and other times they are more scenario based and measure time to complete a task (clock time, mouse clicks). We do these measurements on a variety of hardware platforms (32-bit or 64-bit; 1, 2, 4GB of RAM; 5400 to 7200 RPM or solid-state disks; a variety of processors, etc.) Because of the inherent tradeoffs in some architectural approaches, we often introduce conditional code that depends on the type of hardware on which Windows is running.

On the one hand, performance should be straight forward?use less, do less, have less. As long as you have less of everything performance should improve. At the extreme that is certainly the case. But as we have seen from the comments, one person?s must-have is another person?s must-not-have. We see this a lot with what some on have called ?eye candy??we get many requests to make the base user interface ?more fun? with animations and graphics (?like those found on competing products?) while at the same time some say ?get rid of graphics and go back to Windows 2000?. Windows is enormously flexible and provides many ways to tune the experience. We heard lots on this forum about providing specific versions of Windows customized for different audiences, while we also heard quite a bit about the need to reduce the number of versions of Windows. However, there are limits to what we can provide and at the same time provide a reliable ?platform? that customers and developers can count on and is robust and manageable for a broad set of customers. But of course within a known context (within your home or within a business running a known set of software) it will always be possible to take advantage of the customization and management tools Windows has to offer to tune the experience. The ability to have choice and control what goes on in your PC is of paramount importance to us and you will see us continue to focus on these attributes with Windows 7.

By far the biggest challenge in delivering a great PC experience relative to performance is that customers keep using their PCs to do more and more things and rightfully expect to do these things on the PC they own by just adding more and more software. While it is definitely the case that Windows itself adds functionality, we work hard to pick features that we believe benefit the broadest set of customers. At the same time, a big part of Windows 7 will be to continue to support choice and control over what takes place in Windows with respect to the software that is provided, what the default handlers are for file types and protocols, and providing a platform that makes it easy for end-users to personalize their computing experience.

Finally, it is worth considering real world versus idealized settings. In order to develop Windows we run our benchmarks in a lab setting that allows us to track specifically the code we add and the impact that has. We also work closely with the PC Manufacturers and assist them in benchmarking their systems as they leave the factory. And for true real-world performance, the Microsoft Customer Experience Improvement Program provides us (anonymous, private, opt-in) data on how machines are really doing. We will refer to this data quite a bit over the next months as it forms a basis for us to talk about how things are really working, rather than using anecdotes or less reliable forms of information.

In our next post we will look at startup and boot performance, and given the interest we will certainly have more to say about the topic of performance.

--Steven

But as we have seen from the comments, one person?s must-have is another person?s must-not-have. We see this a lot with what some on have called ?eye candy??we get many requests to make the base user interface ?more fun? with animations and graphics (?like those found on competing products?) while at the same time some say ?get rid of graphics and go back to Windows 2000?.

There's an easy way to overcome this issue.

Obviously we don't need more flavors of Windows. Ultimate, Business, Enterprise, Home, Home Premium, Basic, etc. all give the consumer a headache when trying to figure out what is right for them. There is only a need for two versions: Business and Home (XP made is simple in the beginning: Home and Professional).

I know a lot of people in the Microsoft world hate Mac and Linux, but there is a very good argument for how their installation works. If a user doesn't need or want the fancy GUI, then a user shouldn't have to install it. They have that "Windows 2000" look by default. Everything should be customizable during installation (within reason of course). For example, if a user doesn't need or want Windows Photo Gallery because they have their own program, then that shouldn't be required to install.

Microsoft can overcome a lot of these complaints from users if they added the ability to customize the installation.

No, they don't even need two versions.

Why would they develop a professional and a home version? To give them more trouble with the updates? No way.

Cheap businesses would also tend to buy the Home version of Windows 7, which would still need to be supported by Microsoft somehow.

What they need is a common version, period. That's what Apple has, that's what MS had in the past, and I've never seen anything better at the moment. Then they will still have to think about the server version, which brings yet a new mandatory version of Windows 7. That's enough already.

windows as a whole -concept wise is a mess. i thought they would have a fresh start with vista, but i think they gave in too much to their partners and brought a lot of the trash from xp into vista. what they need to do is forget legacy software and start from scratch.

There's an easy way to overcome this issue.

Obviously we don't need more flavors of Windows. Ultimate, Business, Enterprise, Home, Home Premium, Basic, etc. all give the consumer a headache when trying to figure out what is right for them. There is only a need for two versions: Business and Home (XP made is simple in the beginning: Home and Professional).

I know a lot of people in the Microsoft world hate Mac and Linux, but there is a very good argument for how their installation works. If a user doesn't need or want the fancy GUI, then a user shouldn't have to install it. They have that "Windows 2000" look by default. Everything should be customizable during installation (within reason of course). For example, if a user doesn't need or want Windows Photo Gallery because they have their own program, then that shouldn't be required to install.

Microsoft can overcome a lot of these complaints from users if they added the ability to customize the installation.

I think instead of giving many options during install, the options should me minimal or full. That's it. If you want to customize, wait for it to install and then either add to minimal or remove from full. But again, who decides what is minimal or full etc.

On a side note, I don't think OSX provides any customization during install except language and drivers? And WPG is a wrong example IMO :D it is a default picture viewer as well - you don't want to leave it out :p

windows as a whole -concept wise is a mess. i thought they would have a fresh start with vista, but i think they gave in too much to their partners and brought a lot of the trash from xp into vista. what they need to do is forget legacy software and start from scratch.

Start from scratch? Do you realise how big the Windows OS is? Starting from scratch would take them years and years to get back to where they are now, using 100% new code.

windows as a whole -concept wise is a mess. i thought they would have a fresh start with vista, but i think they gave in too much to their partners and brought a lot of the trash from xp into vista. what they need to do is forget legacy software and start from scratch.

Yeah I agree with you, anything building ontop of Vista will be a complete mess considering how much of the garbage that's already been carried over from Windows Server 2003.

XP > Longhorn ----- RESET ------- XP> 2003 > Vista

XP > Longhorn ----- RESET ------- XP> 2003 > Vista

On www.vistatestdrive.com (The virtual pc copy of vista) I noticed something odd. It says that the build lab for it is:

6001.longhorn_rtm.080118-1840

and BuildLabEx:

6001.1800.x86fre.longhorn_rtm.080118-1840

Why would it say longhorn?

  • Like 1

Im looking forward to Windows 7. It seems Microsoft have started to realise the needs of the customers. I think there should be one version. When you install you can choose to "Customize" or "Default" install the OS. Choosing customize would obviously allow power users and business to install only what they need or want. Default install would be for the average joe user who just wishes to use the computer.

Fundamentally i think Vista is on the right lines. The gui is nice enough for me not wanting to skin it, hardware support isnt bad (expect on my x64 comp, bluetooth dongle not working) and i actually find it quite snappy.

Vista seems to me to be a rushed job. Its there but its not providing a streamline experience both OS wise and also marketing. I think if they tidied it up, optimized it, created clear set GUI building guidelines and premoted it better they would have a great OS.

Hopefully this is what Windows 7 is going to be. Vista base with some new and useful tools.

Yeah I agree with you, anything building ontop of Vista will be a complete mess considering how much of the garbage that's already been carried over from Windows Server 2003.

XP > Longhorn ----- RESET ------- XP> 2003 > Vista

First off you do realise that xp 64 is basically 2003 and i havent heard of any performance complaints about it. Heck 2008 is built ontop of the same thing as vista and is pretty speady.

Vista had a lot of internal things rewritten. Thats why some parts are a little slower because major chunks where rewritten.

So i think people should read up before bashing microsofts os's .

I guess everybody forgot how you could do a custom install in Win9x during install. Starting around Win2k, Microsoft took upon itself to remove the feature of allowing you to choose what to install.

I'm just not understanding people on this one. To speak like it's something revolutionary is ludicrous. Needed? Yes in my opinion.

What they need is a common version, period. That's what Apple has, that's what MS had in the past, and I've never seen anything better at the moment. Then they will still have to think about the server version, which brings yet a new mandatory version of Windows 7. That's enough already.

Microsoft has had a home version of Windows and a professional version of Windows for many many years.

Back then, though, it was:

Home: Windows 95, Windows 98, Windows 98 SE, Windows ME

Professional: Windows NT 3.1, Windows NT 3.5, Windows NT 3.51, Windows NT 4.0, Windows 2000

It wasn't until XP that the product lines were merged, and we started seeing names like "Home" and "Professional" as suffixes.

My tip to Steve is for Windows 7 to be launched on real minimal standards that will run the OS well, like 4-8 gigs of memory and not pretend it can run well on 1 gig.

Yes. Microsoft should do that. But are they likely to? I would say No, no they will not.

It's all about selling the maximum number of shrink wrapped boxes of Windows and running a business.

My thoughts are that this blog about Windows 7 is an illusion of openness from Microsoft. In short. Marketing.

Wrong :

leopard07.jpg

You have to click on Customize though, otherwise it does a normal install.

Right there is my dream of a Windows 7 installation menu. Choose what you want. Leave the rest out.

Sinofsky should consider that, one of many challenges to overcome and resolve with Windows.

I guess everybody forgot how you could do a custom install in Win9x during install. Starting around Win2k, Microsoft took upon itself to remove the feature of allowing you to choose what to install.

I forgot. Thanks for reminding me.

So I guess here is a chance for Microsoft to bring back a feature they decided to kill when Windows9x died.

firey: the names used for marketing are rarely reflected in internal naming schemes. never overanalyze what seems to be internal names. :)

hurmoth: the right people are looking into simplification and better planning within those arenas. as steven notes with his 'trade-offs' comment, there's no slam dunk argument.

mike frett: that's only partially accurate: around that time the Embedded team took over that role. so if you really want to party on your own version of Windows, the embedded toolset is what lets you do that.

all on the 'customize your own truncated SKU' bandwagon: it's certainly an interesting idea, but it comes at very significant testing cost, so it's not something you would want to do without massive thought and planning. [how does application X react on truncated SKU y? clearly if you vLite/nLite your system you KNOW you caused the breaks - you really don't want to spin off every team to make sure that the 10,000 new sku variations now work right in each scenario. you'd want something more logical than that, a better plan than that. i'm involved with those teams: they understand your requests/desires here, and what you're asking for is a significant stability risk. (again, repeat the 10,000 sku variation discussion above.)]

so in summation on that tangent: interesting idea, the embedded sku team generally meets that need now.

if you actually pay attention to windows architecture over the years, you'll see it solidifying into something much more stable and robust right now. win9x was a joke. vista laid the foundation for some potentially great stuff in the future. but! it's important to recognize that mom and pop benefit less from sku truncation than about a thousand other things you can do there. so let them focus on those 1000 better things first and come back to sku truncation as that becomes either the remaining high value item or otherwise of significant merit. just bear in mind that everything comes at a technical cost, and you really don't want to sacrifice overall sku integrity/stability for the "10%" case.

@ zachdms

About: 'customize your own truncated SKU' So are you saying that Apple can create a truncated SKU and it's a task that is beyond Microsoft?

I hope Microsoft revisits truncated SKU's. Power users don't want all that junk, in the trunk. :p

i think if you reread what i wrote you'll note that i already addressed everything you just said. the most meaningful conversations will come from listening to each other effectively. i'm certainly willing to listen to whatever insight you might have here.

if your point is that N% of users want this "feature", i get that and we're on the same page.

if you're going to say 'that is beyond Microsoft' even after i point you at the Windows Embedded SKU, i think i shall have to arch an eyebrow at you. if that doesn't meet your particularly critical needs, i think paragraphs four and five of mine above already address your concern.

it's all a trade-off. vista jumps the windows sku design forward to the modern++ age. hopefully future versions of windows build off of that.

windows as a whole -concept wise is a mess. i thought they would have a fresh start with vista, but i think they gave in too much to their partners and brought a lot of the trash from xp into vista. what they need to do is forget legacy software and start from scratch.

The same people who want MS to start from scratch tend to be the same people that complain when:

1.) There is are problems with backwards compatibility

2.) There are no drivers for old hardware

It is simply unrealistic to assume that Microsoft can just simply throw backwards compatibility away. Businesses, which represent Microsoft's largest revenue sector, absolutely rely upon backwards compatibility before moving on to a new product.

Besides people always complain when old software they paid for doesn't work.

This is Steven's current thinking on Vista and Windows 7.

Today in Windows Vista we have two ways to do that--first you can pick Windows Home Basic and add your own software, or you can pick a more "feature-oriented" version. With that you can then customize what is running through the "Windows Features" control panel (or via other means available within Windows depending on the feature). Most of the items mentioned by many people can be turned off along those lines (tablet PC, speech, language support, etc.), some features can be controlled via options (sidebar and gadgets, indexing) and then there are many of the user-interface elements that can be altered via the advanced performance settings. And "Set Your Default Programs" can make sure that you launch only the software you want to launch for any given protocol/file type (for pictures, for example).

--Steven

http://blogs.msdn.com/e7/archive/2008/08/2...e.aspx#comments

It is impossible for Microsoft to have only one SKU of Windows. It would cost billions of dollars to give up even one of the existing SKUs. It's just not going to happen.

Apple has multiple OS editions at differnet price points too. You just don't notice because they bake it into the price of their hardware. Since their business operates in an entirely different way than Microsoft, you cannot compare the two.

Also, Apple is mainly interested in converting PC buyers into Mac buyers. Thus, success / growth for them means taking someone who would have bought a PC and getting them to buy a Mac. For Microsoft, everybody already buys PCs. Getting new people to buy PCs is very difficult since there are only so many people in the world (and only so many in a position to buy a computer).

So it's hard for Microsoft to grow by getting new users. So instead, Microsoft's best option for growth is to get existing users to pay more. That can mean buying more computers, buying new kinds of devices (like an Xbox, a Media Center, a Tablet, or a Windows Home Server). But it can also mean buying more expensive versions of Windows. In order to do that, those higher-priced editions need to offer compelling enough feature sets or other advantages that make them worth more money to a significant number of people.

Really, asking for one version of Windows is like asking Sony to stop making different PS3s with different hard drive sizes. Well yeah, if you only want the 40GB one then you don't care about the other options. But some people want the option to pay more for an 80GB or 120GB version. Just because you don't want to doesn't mean they shouldn't offer the option. Now, some of you will say that Microsoft should just sell Ultimate at the cheapest price. That's just like saying that Sony should get rid of the 40GB and 80GB PS3s and sell a 120GB model at the price of the 40GB. It won't happen because it's a losing proposition for them, and asking for it just makes you sound ridiculous.

Apple has multiple OS editions at differnet price points too. You just don't notice because they bake it into the price of their hardware. Since their business operates in an entirely different way than Microsoft, you cannot compare the two.

I know Apple has it's Server product and Desktop product.

The Desktop product is just one version, there is no multiple SKU's in Retail.

Really, asking for one version of Windows is like asking Sony to stop making different PS3s with different hard drive sizes. Well yeah, if you only want the 40GB one then you don't care about the other options. But some people want the option to pay more for an 80GB or 120GB version. Just because you don't want to doesn't mean they shouldn't offer the option. Now, some of you will say that Microsoft should just sell Ultimate at the cheapest price. That's just like saying that Sony should get rid of the 40GB and 80GB PS3s and sell a 120GB model at the price of the 40GB. It won't happen because it's a losing proposition for them, and asking for it just makes you sound ridiculous.

Brandon. I hate to sound like a broken record. But Apple and Linux distributions do this. You buy one version. It's the complete version. You then choose what to not install in custom installation settings. Comparing Hardware to Software is not really comparing apples with apples.

On www.vistatestdrive.com (The virtual pc copy of vista) I noticed something odd. It says that the build lab for it is:

6001.longhorn_rtm.080118-1840

and BuildLabEx:

6001.1800.x86fre.longhorn_rtm.080118-1840

Why would it say longhorn?

Because despite being restarted, the codename was still Longhorn throughout the whole thing.

First off you do realise that xp 64 is basically 2003 and i havent heard of any performance complaints about it. Heck 2008 is built ontop of the same thing as vista and is pretty speady.

Vista had a lot of internal things rewritten. Thats why some parts are a little slower because major chunks where rewritten.

So i think people should read up before bashing microsofts os's .

A- I wasn't bashing anything..

B- XP x64 was made after Windows Server 2003, so they used Windows Server 2003 to make a newer version of XP for x64 PC's, wouldn't make much sense to make XP x64 based on the x86 XP when a more stable build was available.

Business, Home, Home Ultimate, Server

That's all they need todo.

Business should be cut down, no sparkly effects, just raw performance and ease of use

Home should be basic, a few effects here and there but again performance focused for standard families.

Home ultimate should be the best looking version of them all, many effects, gaming performance mode, lots of extras

Server, standard server edition

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Wow, this is some Iran, Cuba, China, Russia, North Korea-level citizen surveillance right there, the UK's government has gone totally mad. Power trip indeed, their politicians are totally out of control about this issue. They're starting to cross limits I wouldn't have imagined, to be honest. British people, fight this, your privacy and freedoms are in danger. Vote this government out of power.
    • Nintendo unveils The Legend of Zelda: Ocarina of Time remake, and it's out this year by Pulasthi Ariyasinghe Confirming many rumors, Nintendo officially announced a remake of the classic The Legend of Zelda: Ocarina of Time, the very first game in the series that offered a 3D experience to fans. Unlike previous remasters and re-releases, the originally 1998-released fantasy adventure game is being remade from the ground up for the Nintendo Switch 2 console this time. "The Nintendo 64 classic returns for a new generation in 2026, reborn exclusively for Nintendo Switch 2," said the company about today's announcement. While Nintendo didn't go into much detail about the project, other than confirming its existence, we did get a small teaser trailer at the Direct presentation today. Catch the footage below: With a tapestry as the backdrop, the first half of the trailer tells the tale of Hyrule, the Kokiri forest dwellers, and their fairy companions. It goes onto introduce "one particular boy" without a fairy, which then cuts to a sleeping Link, showcasing what looks like the new art style being introduced in the remake. Unfortunately, no gameplay or a look at the world has been revealed yet. The game originally released for the Nintendo 64 back in 1998, offering a time travel adventure where Link is once again going up against the evil king Ganondorf. The hugely well-received title has only been playable on modern Nintendo consoles using the Switch Online + Expansion Pack membership. The Legend of Zelda: Ocarina of Time remake for the Nintendo Switch 2 doesn't have a firm release date yet, but Nintendo says it will be released sometime in 2026. Considering just how many publishers are avoiding the Grand Theft Auto VI release nowadays, the company may copy that strategy and also opt to bring this out before November this year.
    • Opera just died: https://www.neowin.net/news/go...osoft-edge-opera-to-follow/
    • AdGuard is a system-wide ad-blocker, the browser extension is a control for the application that runs.
  • Recent Achievements

    • Week One Done
      ARaclen earned a badge
      Week One Done
    • One Year In
      jojodbn earned a badge
      One Year In
    • One Month Later
      jojodbn earned a badge
      One Month Later
    • Week One Done
      jojodbn earned a badge
      Week One Done
    • Week One Done
      D0nn13 earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      518
    2. 2
      PsYcHoKiLLa
      230
    3. 3
      +Edouard
      113
    4. 4
      ATLien_0
      87
    5. 5
      Steven P.
      83
  • Tell a friend

    Love Neowin? Tell a friend!