geekhack Community > Other Geeky Stuff

Performance of Windows XP, 7, 8, 10 (old and new) and just how bad was Vista.

(1/4) > >>

This has been a long time coming and took oh my gosh, far too dang long to accomplish.
As they say, the only difference between fooling around and science is writing down the numbers... So I wrote them down for you. So this is SCIENCE!
I didn't say it was good science.

So this all started when I heard and read a few people claiming that Windows 10 has gotten more resource heavy after one of the recent major updates. My thought was it had probably finally surpassed Windows Vista for hardware requirements and one night I decided to finally test that. It will be easy I said, it will be simple I said...  When I started this the goal was to see if Windows 10 had become worse than Vista, just testing 10 and Vista and it turned into me testing 6 different operating systems in 32 and 64bit each over 5 different sets of hardware, 3 times each. That's 38 versions, almost 120 benchmark runs, that ignores the problems I had along the way and problems I had even getting all of this to work. What could have and should have taken a few minutes turned into all my free time for an entire week.

The short answer is Win10 surpassed Vista a long, long time ago.

So when did Windows overtake Vista for requirements?
That's where it gets complicated, I thought I understood Windows Vista, Ha.  It turns out, Vista was both extremely bad and extremely good and it all depended on what version of Vista you ran and how you measured it.

Before I get into this there's a few things people need to understand.
How much ram a system uses changes depending on how much ram you have. many people have this idea that you want a system to use as little as possible, that's not true. You want it;s baseline to be low but you want it to cache as much as possible for speed but relinquish it as needed by other things. So don't look at an OS and think "well that one sucks, look how much ram it uses". Another thing is you can trade ram for cpu cycles, in a laptop this is how you create battery runtime. Would you rather an extra hour of battery life and faster speeds or an extra 5% of ram?  Don't judge an operating system or desktop environment by ram use alone, it's a terrible measure of a system. So why are we measuring it here? Because we're comparing how they use those resources in relation to performance.

Note that all of this was done in a virtual machine.
I can understand wanting actual hardware benchmarks but we need to be a bit realistic here. Trying to find drivers for a near 20 year old operating system, especially one with limited support in the first place is not easy (Windows XP 64bit and all Vista support). There is also the fact that if something happens and I have to alter the test it would mean re-installing every operating system precisely to redo all the tests, a virtual machine means I make lots of clones and with the click of a button rerun the test. This actually happened to me twice, once when I learned only Win 8 and Win10 wanted to run the GPU test and the others would hide it or crash entirely. Another time I had one OS working on a config and a later one would not, so I had to go back redo everything again. A virtual machine also means I can easily limit CPU power and memory to anything, not just what I have on hand or a system can handle. Also being on an SSD on the base system there's no change depending on how the drive fragmented or where a VM was located on the disk. Is it perfect? No, but it's close enough for our purpose especially.

I made a VM for 32 bit that works with all of the 32bit versions then another that worked with all the 64 bit (minus 11) and then just copied it and installed each OS to each. This way each was the same.  The actual benchmark was another problem, try finding something that run on everything from 64bit XP to Windows 10. Not many do that these days. Admittedly I'm not big on benchmarks, there's probably a few but I just didn't easily find them and frankly it's not needed, we just wanted a generic benchmark, not GPU performance or anything. While I did find a few the only one I could get to actually work on everything and even thenonly after some fighting (thanks Microsoft!). Benchmarks really aren't the point of this anyhow, we're just looking for overall system performance and resource use so we just need something to give a number to compare.

All have a 50gb drive, no audio, no networking. 32bit gets 32megs vram and legacy virtualization while 64bit gets 128megs vram and default virtualization. From here I just adjusted ram, number of cores and core clock speeds (cpu limit).

Systems tested:
XP 32bit Pro SP2
XP 64bit Pro SP2
Vista Ultimate 32bit SP1
Vista Ultimate 64bit SP1
7 Pro 32bit SP1
7 Pro 64bit SP1
10 Pro 32bit 1909 (this was the first major update after release) this is titled OLD
10 Pro 64bit 1909 (this was the first major update after release) this is titled OLD
10 Pro 32bit 21h1  (and up to date as of the day of the tests) this is titled 21H1
10 Pro 64bit 21h1  (and up to date as of the day of the tests) this is titled 21H1

All systems were installed with default options and no updates except 21H1 because I had to in order to install necessary dependencies for the benchmark (Dot Net). Microsoft now runs you in loops trying to get older Dot Net without letting it do it itself on later versions. It would tell me I need Dot Net 3.5, I'd try and do it manually only for it to say I needed Dot Net 2.0 to install 3.5, so install I try and manually install 2.0 and it would say it needs to download the software. I even went so far as to save the installer and move it to another copy of the virtual machine and it would again insist it needed to download the software. Same exact file, it just demanded to be online to do it because of course Microsoft wants it to be online. Every time I think of giving Windows another chance I run into things like this and it just reinforces why I'm not using it.

I also did not include Win11 because it's mostly the latest Win 10 and it also rejected the  "hardware" configuration I had used on everything else, it wouldn't really tell us anything more than Win10 does anyhow. If you want a Win 10 vs 11 benchmark there's plenty of places that have or will cover that far more in depth and in ways more relevant to today's hardware and software. Remember this is just to see how older versions compare today.

Hardware changes from previous the test are highlighted, small variations that look out of place are likely just minor variations causing rounding to exaggerate them.
CPU = cpu @ idle and desktop loaded and settled
idle = memory @ idle and desktop loaded and settled
boot = max memory use during boot up
peak = memory peak during testing
Bench = benchmark score

512MB ram, single core half speed cpu. Similar to an overclocked Pentium 3, Athlon or Duron. This is with task manager open.
Windows XP 32   310 Bench   >1% CPU   82 MB @ idle      88 MB @ boot   220  MB @ peak
Windows Vista 32   425 Bench   >1% CPU   265 MB @ idle   340 MB @ boot   381 MB @ peak
Windows 7 32      306 Bench   >1% CPU   305 MB @ idle   364 MB @ boot   419 MB @ peak
Windows 8 32      252 Bench   1.5% CPU   330 MB @ idle   410 MB @ boot    460 MB @ peak
Windows 1909 32   188 Bench   6% CPU      411 MB @ idle   500 MB @ boot   503 MB @ peak
Windows 21H1 32   185 Bench   6% CPU       420 MB @ idle   500 MB @ boot   502 MB @ peak

Wait... Vista won?
I'm honestly scratching my head here. It booted slow and ran sluggish, from a user experience only Win10 was worse and yet it slaughtered everything else in this benchmark including XP. Yes this was Vista's era of hardware but I was shocked when I saw the benchmark result because it just ran so bad from my end, it was miserable. This won't be the last time Vista gives us a surprise.

Itís possible XP has a higher memory use on start but itís loading and dumping it faster than I can get task manager loaded up to see it.

Win 7 and 8 were a bit slow to boot at about 2 minutes but both Vista and Win 10 took nearly 4 minutes to settle in. Win 10 actually took over 10 minutes unless I stepped in and launched something to get it to stop doing random junk in background. None of this effected benchmarks because that was what I used to interrupt it but it was annoying.

Here you can see Windows 8 32bit struggle for resources with so little ram, but so is Win 10, neither were really meant to run on such lowly hardware.
Windows 10 especially was absolutely thrashing the drive for cache. Credit where due, it didnít crash, it wasnít pleasant, it wasnít happy about it but it didnít crash. Keep in mind as soon as Defender or disk indexing or any other system starts running the cpu jumps to 95% or more and memory is always sitting at 80% or more.

512MB ram, single core full speed cpu. This would be similar to a relatively newish dual core I3 or I5. This is with task manager open.
Windows XP 32   416 Bench   >1% CPU   90 MB @ idle      90 MB @ boot   224 MB @ peak
Windows Vista 32   421 Bench   1% CPU      255 MB @ idle   330 MB @ boot   401 MB @ peak
Windows 7 32      420 Bench   >1% CPU   305 MB @ idle   363 MB @ boot   424 MB @ peak
Windows 8 32      422 Bench   >1% CPU   330 MB @ idle   381 MB @ boot   471 MB @ peak
Windows 1909 32   364 Bench   6% CPU      415 MB @ idle   500 MB @ boot   506 MB @ peak
Windows 21H1 32   364 Bench   6% CPU      420 MB @ idle   500 MB @ boot   498 MB @ peak

Once again Vista hangs out near the top but note that it's using MORE CPU instead of the expected less, this is a trend that will continue. At first I thought this was a memory bottleneck, as in the much faster cpu was no longer getting enough memory but that proved not to be the case. It was still a terrible experience to actually use it.

Windows 8 is doing a little better here, it has the cpu power to hide the fact that it's struggling for ram but Win 10 is clearly still starving.

7 and 8 still booted sluggish while Vista and 10 booted as they had before.

1GB ram, dual core full speed cpu. This would be similar to a relatively newish dual core I3 or I5. This is with task manager open.
Windows XP 32   583 Bench   >1% CPU   87 MB @ idle      90 MB @ boot   224 MB @ peak
Windows Vista 32   585 Bench   1.4% CPU   340 MB @ idle   770 MB @ boot   500 MB @ peak
Windows Vista 64   587 Bench   >1% CPU   376 MB @ idle   880 MB @ boot   660 MB @ peak
Windows 7 32      587 Bench   >1% CPU   320 MB @ idle   380 MB @ boot   450 MB @ peak
Windows 7 64      588 Bench   >1% CPU   404 MB @ idle   740 MB @ boot   570 MB @ peak
Windows 8 32      592 Bench   >1% CPU   377 MB @ idle   560 MB @ boot   485 MB @ peak
Windows 1909 32   562 Bench   6% CPU      500 MB @ idle   960 MB @ boot   650 MB @ peak
Windows 21H1 32   562 Bench   5% CPU      670 MB @ idle   790 MB @ boot   850 MB @ peak

Here's an interesting one.
First let me say Vista 32 ran like garbage for the user, just like before. This is also where I first notice Vista 32's CPU acting odd compared to everything else, it has double the ram and double the cpu and yet CPU load went up? Is it a ram bottleneck? CPU bottleneck? Dual core issue? No that got blown out of the water when I ran the 4gig test.

Note that 64bit Vista and Win 7 are included, after I ran the 4gig tests which included 64bit I came back and ran Vista 64 to see if it had the same problem but it did not, in fact from a user perspective Vista 64 ran tons better, it was like what you expected from any other OS. There was pretty much no downside to just running Vista 64 so long as you had a 64bit processor and yet companies kept installing 32bit, wisdom at the time was you only ran 64bit if you had more than 2 gigs of ram and preferably more because of the extra memory it consumed but Vista destroyed that idea here. This got me wondering, if it was better to just use 64 bit Vista, did that also make sense on Win 7?  Actually, yes. You would be correct to say that Win 7 64bit score being faster is a rounding error but it doesn't even need to run faster, using 64bit allowed for bigger memory upgrades later and the ability to run more software so even if it was slightly slower it still would make sense.

This chart also perfectly illustrates what I said at the start about not using resources to determine anything about an OS or desktop environment, besides how 7 64 and Vista 64 not really taking a performance hit despite higher memory use, you can see Win10 21H1 using ram to offload the cpu compared to 1909. While it's a mere 1% in a laptop that would be enough to effect battery life quite a bit. Remember it may be only 1% but it's 20% more battery at idle. and if your system spends most of it's time at or near idle that's going to be significant.

Another oddity here.
While it says >1 CPU, there was many times while idle that Vista 64 and Win 7 64 bit were actually using less CPU power than even XP 32 bit. Trying to measure below 1% in Windows is difficult but Linux hardware monitor of the system running the VM was showing more precise numbers. We're only talking a couple tenths of a percent but I found it interesting nonetheless.

This theme carried right through boot times.
7 and 8  still booted slightly sluggish (though better) with Vista 64 doing similar. Vista 32 and 10 booted as they had before, really slow.

4GB ram, dual core full speed cpu. This would be similar to a relatively newish dual core I3 or I5. This is with task manager open.
Windows XP 32   597 Bench   >1% CPU   87 MB @ idle      90 MB @ boot   224 MB @ peak
Windows XP 64   616 Bench   >1% CPU   160 MB @ idle   160 MB @ boot   290 MB @ peak
Windows Vista 32   603 Bench   ~2% CPU   490 MB @ idle   860 MB @ boot   740 MB @ peak
Windows Vista 64   611 Bench   >1% CPU   640 MB @ idle   1060 MB @ boot   934 MB @ peak
Windows 7 32      603 Bench   >1% CPU   405 MB @ idle   511 MB @ boot   926 MB @ peak
Windows 7 64      612 Bench   >1% CPU   540 MB @ idle   640 MB @ boot   1.08 GB @ peak
Windows 8 32      604 Bench   >1% CPU   0.5 GB @ idle      0.8 GB @ boot   1.0 GB @ peak
Windows 8 64      613 Bench   >1% CPU   0.7 GB @ idle      0.9 GB @ boot   1.1 GB @ peak
Windows 1909 32   578 Bench   5% CPU      0.8 GB @ idle      1.5 GB @ boot   1.3 GB @ peak
Windows 1909 64   590 Bench   5% CPU      1.2 GB @ idle      1.8 GB @ boot   1.5  GB @ peak
Windows 21H1 32   583 Bench   5% CPU      1.0 GB @ idle      1.4 GB @ boot   1.3 GB @ peak
Windows 21H1 64   591 Bench   5% CPU      1.4 GB @ idle      2.0 GB @ boot   1.8 GB @ peak

Vista 32 ran like garbage, even with 4 gigs and once again it ruined resource expectations, add ram CPU load goes up, more cores, load goes up, faster cores, load goes up. Everything that should make 32bit Vista go faster is just increasing cpu load. It was faster but not for the user experience, it was still a dog. We can't say it's ram bottlenecked, same for cpu, and you can't really blame it on early dual core optimization, both versions of XP worked just fine. It's something unique to Vista 32. Worse still, it still booted poorly as well while all of the others ran fine, including Vista 64. Yet despite all of this it benchmarked well.

No other surprises here except Win 10 still using a ton of CPU at idle. I want to say over time that will stop, but it actually never did.

8 GB ram, dual core full speed cpu. This would be similar to a relatively newish dual core I3 or I5. This is with task manager open.
Windows XP 64   658 Bench   >1% CPU   160 MB @ idle   195 MB @  boot   291 MB @  peak
Windows Vista 64   651 Bench   >1% CPU   830 MB @ idle   1.19 GB @  boot   1.59 GB @  peak
Windows 7 64      653 Bench   >1% CPU   735 MB @ idle   983 MB @  boot   1.8 GB @  peak
Windows 8 64      657 Bench   >1% CPU   0.8 GB @ idle      1 GB @ boot      1.7 GB @ peak
Windows 1909    634 Bench   5% CPU      1.2 GB @ idle      2.4 GB @ boot   2.5 GB @  peak
Windows 21H1    634 Bench   5% CPU      1.3 GB @ idle      2.5 GB @ boot   2.7 GB @ peak

This one was just for those interested since this is kind of a modest system today.

Conclusions and  findings
I want to get this out of the way because there's a lot to cover with Win10 and Vista.
I was kind of surprised at the XP 32 benchmarks, I really expected it to make a better show, though I also expected XP 64 to do worse. For all the love of XP and how light on it's feet that it was it didn't do nearly what I would have expected on benchmarks. It was amazing from a user perspective but benchmarks didn't match that experience meaning that while the desktop felt great games were the same as any other. Why didn't XP do better? Hardware acceleration/optimizations and the ability to adapt. We saw Win 8 and @Win 10 using disk caching to make up for a lack of ram, they can also render the desktop on the gpu to reduce cpu load, another example is the new direct memory sharing on GPUs, it allows them to directly access system memory.  XP can't do that and if a game or benchmark can use it, it's going to give that game of system an advantage. This is the same thing with Linux desktops, people think a light weight one will be better, and it can be on older hardware, but on newer hardware a newer desktop can take advantage of newer technology and mitigate or even best the older system because it has more options to offload various aspects of itself to unused resources to compensate.

Interestingly, Win 8 and 10 were the only ones that could complete the GPU test. XP could run it but didn't display the test, while Vista and 7 both crashed when it was ran. This invalidated all the test results prior and had this not been on VM would have meant days of work ruined. Granted, it may have run on bare metal but we don't know that for sure and this illustrates the point of why VMs are handy. I likely would have given up on this had I been on bare metal and it did that because it would have meant so much work. For all my hate of Win10 I have to commend it (and Win8) for this, I also have to commend 10 for even running with 512 ram, it's not actually supported and it not only ran but managed a benchmark. You can't even get many modern Linux distros to run on so little ram.

Win10's cpu did drop another percent here or there, but this was meant to be an idle average with task manager (about 1%) open after the system settled not 20 minutes later or after forcing everything to close. Not once did it drop below 3% no matter how long I waited. It's a good thing it gets scaled back on battery because it would just murder your battery. It's shocking just how much Win10 does right after startup and while idle, no wonder Iíve seen some systems just chug for 3-5 minutes after starting no matter what you did. Win 10 has not really gotten worse for resources, it is using more but we're talking less than 1/16th of your memory. and benchmarks really haven't changed either, this makes me think that's just them adjusting the system cache. It very likely changed a while back and no one took notice until they could feel a difference. This doesn't mean it doesn't feel slower, we saw the same with Vista, it checked all the performance boxes, it just felt like garbage to the user, I'm just saying it's not a resource problem.

While you may look at all these numbers and think Win10 did poorly, go back and look at it again, as Win10 was fed more and more resources, like in a modern system, it started to catch up to the other systems. By the time you get to 16 or 32 gigs there's a chance it might actually pull even or ahead of everything else in benchmarks, especially if it was bare metal (not in a virtual system). Remember, Win10, like others was designed for hardware available at the time, and good or bad, never has MS put so much into making an OS keep pace with modern hardware. We also were using a pass through for the GPU, it's very possible that on bare metal the differences for 4 and 8 gig would be reduced to almost nothing.

So what the heck is going on here with Vista?
It did this consistently, multiple runs, multiple installs, I even tried 3 different versions of Vista 32bit (home, ultimate and sp2 instead of SP1) I loaded different drivers, I tried different VM settings, nothing I tried helped. At first I thought maybe I could blame it being a virtual environment but if that was the case why was it the only one effected, not even 64bit Vista was effected and more important it never effected benchmark scores or changed the user experience and it performed exactly as MS would expect from a normal system. That obviously doesn't rule out it being a virtual machine issue but makes it highly unlikely and I really don't think it explains the slow user experience because while it got worse the user experience and benchmarks didn't change to match. The user experience explains at least some of why so many people had such a terrible time while others thought it was actually decent. If you had 32bit Vista there was really no saving it and very, very few systems came with Vista 64 pre-installed or the ram you wanted to run it with especially in the early days of Vista. It's kind of sad that there was such a simple fix (using 64bit) and few were able to take advantage of it. I was tempted to install it onto some old systems I have access to but other than the high cpu use it performed actually as expected, sometimes better and while it might help solve the mystery, what purpose would it serve? None of us are going to actually use it anyhow.

For those who made it this far, I can only ask why? Haha
Anyhow, if you did actually plow through that wall of text I hope you got something from it.

See, there's the thing.

Windows 10 may have huge bloated requirements and want all sorts of RAM and processor.

But modern rigs can have enormous RAM and many processors.

Windows 10 needs pound-for-pound more resources than XP, even Vista. But it can make better use of SSD than XP / Vista ever could, better use of parallel processors, etc...

Win 10 on a new computer with SSD, Core processor, and lots of RAM actually runs very fast. Can boot very quickly, apps load quickly.

I think we're all disgusted with how much computer a modern Windows installation needs, but if you have a half-decent rig [multicore processor with 8-16+ GB of RAM and good SSD] then it's pretty snappy. I learned long ago that you have to give Windows what it wants.

If you try to run Windows 10 on pre-2007/8 era equipment, you're gonna have a bad time.


--- Quote from: Leslieann on Fri, 20 August 2021, 04:15:33 ---For those who made it this far, I can only ask why? Haha
--- End quote ---
Covid isolation - nothing better to do :p

Seriously though thanks for taking the time to do this, I will have to read it again when my head deflates a little.


--- Quote from: Leslieann on Fri, 20 August 2021, 04:15:33 ---

It will be easy I said, it will be simple I said.

--- End quote ---

How drunk were you?

I really do hate 10 though, and it looks like all the privacy violating and ignoring the main users instructions will be the motif carried through to 11.
MS is picking up and running with every ball I hate. Win 10 has become my least favorite MS OS, and it's ironically the one I am stuck with for now.

Vista was bad though, I think my Vista system was the only computer I ever had to fully abandon due to rampant viruses that were directly affecting the hardware. To this day even, there my old Vista pc sits on my mom's porch exposed to the elements. Not what it deserves, we did have some good times.


[0] Message Index

[#] Next page

Go to full version