Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: What makes Windows 11 perform much worse than Windows XP?
71 points by CppPro on May 23, 2024 | hide | past | favorite | 106 comments
An operating system is a layer between the hardware and the user of the PC, what exactly makes such layer perform worse every generation and why it requires more and more power?


There are actually a lot of factors here, although if I had to sum it up in one, it would be "the hardware can support it." But more seriously:

1. There are a lot of security mitigations in modern Windows that add sometimes substantial runtime overhead, but offer significant protection. Writing an exploit for modern Windows is hard compared to XP SP1 and below.

2. The graphics are a lot more sophisticated. Animation and transparency and lots of good stuff.

3. There are a ton more "features" in the OS. Modern Windows is continually running a bunch of things that XP didn't.

4. All software tends to bloat over time. It's really hard and expensive to optimize things, especially in a huge and long-lived OS where the scope is enormous and PMs are constantly wanting things added. When it runs sufficiently on modern hardware, there's also very little incentive to do so. (As an aside, this is one of the reasons I love Linux. There's lots of incentive to optimize there and thus it does happen).

Overall I really miss XP. Surely nostalgia is a powerful drug, but damn that was a great OS.


2. The graphics are a lot more sophisticated. Animation and transparency and lots of good stuff.

Strong disagree. Borderless icons floating in a sea of flatness is not "more sophisticated" by any means than the fully-customisable UI which was common in the XP era, and the huge amount of "skinning" that was also very popular. Transparent/translucent effects became common with Vista and that was run on the GPU, which was in general much less powerful than the ones today.

I'll add a 5th point: Thanks to a low barrier to entry, the average developer now is much lower quality than the average 20 years ago.


Fair point, it does seem like the modern graphics are less sophisticated than the transparent/translucent of the Vista era.

And yes, I would very much agree regarding the quality of the average developer. To devs nowadays who might feel sad about that, I don't think it's most developers fault, rather they/we are the product of a system (such as a scrum) that only cares about quality and performance when it's bad enough to be noticed by many users. Beyond that, you get promoted and good annual reviews by shipping features, regardless of whether they are actually quality/performant or not.


To your 5th point: newer generations have not been confronted with the hardware limitations older generations had to cope with.

Hence, optimization is not a skill new generations of developers are forced to learn.


newer generations have not been confronted with the hardware limitations older generations had to cope with.

That has been true for every new generation of programmers since the invention of computers. My uncle started to program using Fortran IV in the 60s and he said that the 'real' programmers at the time looked down on the likes of him for using such an inefficient high level language and not learning how to program properly.


Good point :)

It reminds me of "kids have no manners anymore" that has been recorded since antiquity.


I assume Windows 11 handles high DPI monitors a lot better than Windows XP, which must add some complexity to graphics rendering.


Is it a joke? Today's GPUs are miles and miles away from what we got back then. The is no brainer to compare Nvidia 6600 gt and some 3060.

Raw power that we have now in our PCs and laptops are enormous and some better high DPI handling cannot justify why everything nowadays is so sluggish an laggy.


> I assume Windows 11 handles high DPI monitors a lot better than Windows XP

YMMV. I think "a lot better" is an overstatement. You have some fractional scaling which, depending of the program, might do what you need. But the fact that you cannot change fonts and colors is a real issue. Not everybody loves gray on gray.


> Thanks to a low barrier to entry, the average developer now is much lower quality than the average 20 years ago.

I think this is a big reason why we have lots of poorly performing JavaScript based software.


There are a ton more "features" in the OS

Including things you like quite a bit, such as WiFi support, thread scheduling, and suspend modes that are worth a damn.

XP could be snappy, but I haven't forgotten how poorly my old XP two-thread laptop multitasked, how the battery didn't last more than an hour, and so on.

Also worth remembering everyone always has a browser open today. In the XP days, you were running Firefox 1.0, a 5MB program.


XP could be snappy, but I haven't forgotten how poorly my old XP two-thread laptop multitasked, how the battery didn't last more than an hour, and so on.

That is a hardware issue. XP can use far more cores, and I bet if you had the drivers, it would run much better than 10 or 11 on a recent laptop and give even better battery life.


>XP can use far more cores

Only for the 64-bit version, which was very uncommon for most of the XP lifetime.

Almost everybody on XP was using a 32-bit version, which only uses two cores at the most.

Using select 2014 PC's which are about the newest you could get that still supported XP and where proper XP drivers were easily available, a lot can still be done to make direct performance comparisons. These would be the first generation consumer/business UEFI PC's, originally shipped with 64-bit Windows 8. But also still offering drivers for W7, Vista, and XP if you were to prefer to install those instead or multiboot to them. Also among the first target machines to be expected to migrate to Windows 10 as soon as it became "the final Windows version going forward" from Windows 8.x. Some can have W11 installed without real difficulty too, and it runs the same apps correctly just like W10 without much more sluggishness.

But if you don't need more than 3.x GB of memory, and try W10 32-bit, you may find it's a lot less slow than W11. This is where nobody can deny it.

OTOH with XP 32-bit on the same hardware (including SSD and HD graphics) with all proper system drivers, nothing about it can be considered slow by comparison.

Much faster than almost all professional users of XP remember from back then, because 2014 hardware was so much more performant than 2004 or 2010.

On only two cores it just blows everything else away.

Except for Windows 98 of course on the same hardware without even proper system drivers (naturally only using a single core), but you have to remove all but 1GB of memory for that.


Almost everybody on XP was using a 32-bit version, which only uses two cores at the most.

Where did that misinformation come from? In the late 2000s, quad-core Q6600s were very common at the time and they certainly had all 4 cores active under 32-bit XP.


I think there's a misunderstanding about the processor limits. I can't find an official doc because everyone links to a KB article that must have showed them in the past, but now talks about virtual memory...

But XP docs talk about a limit on the number of processors that is a limit on the number of sockets. If you've got an old quad pentium 2 system, with four slotted processors, XP Pro is only going to run on two of them, because it has a 2 processor limit. But multiple cores/threads are subject to a different limit that I can't find. Home may have been single socket?

Some people might have tried to run it in virtualization, and not been careful to setup virtualized cpus as cores in a single socket rather than multiple sockets.


My wife's new laptop (some Acer...) with preinstalled Win11 won't sleep and won't hibernate. My old Tinkpad X60 with WinXP Tablet can do both. So... not a valid argument.


> XP could be snappy, but I haven't forgotten how poorly my old XP two-thread laptop multitasked,

I have a work laptop with Win 10 and Ryzen with 6 Cores. To say it multitasks is a lie.

But the good thing is that the damn thing runs 3 security suites. For compliance.


"such as WiFi support, thread scheduling, and suspend modes that are worth a damn."

Thread scheduling has existed since NT 3.51.

Wifi is largely just another kind of network adapter.

XP supported the same suspend-to-RAM and hibernate-to-disk modes as todays systems.

"but I haven't forgotten how poorly my old XP two-thread laptop multitasked"

Despite what certain processor vendors tell you, the number of threads are determined by each running program. Whatever you mean by "poor multitasking", you were probably short on RAM.

The OS has made improvements that can help with battery life, but most of any perceived improvement has come from batteries that suck less.

"In the XP days, you were running Firefox 1.0, a 5MB program."

5 MB was never a realistic estimate of process RAM.


> 5 MB was never a realistic estimate of process RAM.

They probably meant "Firefox Setup 1.0.exe" was 5 MB.


Sleep has become significantly worse in Windows. Many complaints of how a supposedly sleeping laptop cooked itself to death in a backpack overnight.

I also think it would be worth considering changes in underlying hardware. A modern laptop no longer has a spinning HDD, probably a much bigger battery, and a CPU that is better at entering low power modes when possible.


It was around the third time that my laptop overheated itself while "asleep" in my backpack that I decided to return it and get a MacBook.


My work mac never seemed to overheat itself, but it would routinely be warm and out of battery when I took it out of my bag if I wasn't very careful about what was running when it went to sleep. If Outlook was left running, look out.


It is amazing that "goes to sleep properly when I close the lid" is a competitive advantage for a laptop in 2024. My X1 Carbon would bake itself in my backpack all the time but my new work mac has been perfect so far.


"Modern sleep" is such a scam. The only way to safely suspend a Windows machine now is to go into the registry and re-enable hibernation.


Indeed. My understanding is that it's a hardware issue with (largely) Intel. Sleep is really bad on Linux too and that is the reason given.


Basically, this

https://learn.microsoft.com/en-us/windows-hardware/design/de...

Linus tech tips made some decent videos on the topic. But basically, what this apparently boils down to, is Microsoft wants to control system power states from the OS instead of relying on the implementation different manufacturers provide in their BIOS or something.

And there are good reasons to do so, and in concept, it's a decent idea, but the feature just isn't filly ready yet, especially in terms of it being supported by software.

There is a link to SleepStudy at the bottom of that article, which is a piece of software that, from what I understood from it's description, lets you track _why_ your laptop is hot and bothered while riding in your backpack.

In the end, it could be Software (whatever programs you run), OS, BIOS or really hardware related. Probably makes it really hard to understand what _actually_ causes the problem.


If that were the case then it should have affected Intel-based MacBooks too, and that does not seem to have been widespread.


> Including things you like quite a bit, such as WiFi support A while ago I set up Win 98 on an old P2 laptop from 1998 I found in the trash at work. Even that can do WiFi with WPA2. It was a pain to set up and requires 3rd party software to establish the connection, but aside from that it works just like any other network card.


I'd add to 4, having seen a bit of the Kernel code. There's a lot of duplication of code, when new developers or teams come on board, they often just re-invent the wheel, rather than using existing Kernel funtions.

I would guess that most of the 15 NT developers from 30 years ago have long since left.


> There's a lot of duplication of code, when new developers or teams come on board, they often just re-invent the wheel, rather than using existing Kernel funtions.

This is, unfortunately, a trend in SW development. See GNOME or Wayland for examples.


Linux isn't afraid to break backward compatible. I'm pretty sure Win32 is going to outlive me.


Linux makes an explicit effort to not break userspace.

I had a weird experience where I had to use a device stuck on a 2.6.x kernel, and I was able to run a modern distribution on top of it.

Similarly, running old userlands on new kernels works just as well.

The issue with backwards compatibility isn't with the kernel, but ensuring that whatever you want to run is compatible with the surrounding userland environment. Dynamic linking can break backwards compatibility, for example, but that's an issue above Linux.


While you are technically correct, that turns it into a bit of an apples to oranges comparison with Windows because most of what we consider to be the Windows operating system would in the Linux world live in userspace. Which means that when we're comparing the user's experience of an average Linux distribution with Windows it's definitely fair to say that Linux doesn't prioritize backwards compatibility.


Just yesterday, I purchased a game from GOG where the Linux build cannot start, owing to who knows what expected platform profile. Maybe, technically, I could have fixed the problem. The Windows build worked without issue in Wine.


However, because the kernel doesn't break userspace, you can use stuff like chroot to run old apps without a performance loss.

I do wish the tooling to make this seamless was better.


Assuming you can go through the dependency hell, because you can't use old packages on a new distro - so in most cases you have to compile by source... I've tried to run XMMS and suffered a lot.


This should be a nonissue if you use chroot.


Better yet, use a container.

Distrobox[1] automates the process of installing popular distros released in the past decade or so in containers.

For games in particular, Proton[2] (a game-specific Wine fork) or one of the Steam container runtimes[3] (for native Linux games) might also be worth a try.

For a non-Steam game:

1. Install and run the Linux Steam client (Steam account required).

2. Add the game to the Steam library: "Add a Game" → "Add a Non-Steam Game…", choose game executable.

3. Right click on the game, choose "Properties" → "Compatibility" → "Force the use of a specific Steam Play compatibility tool", and choose a version of Proton or container runtime (the most recent non-experimental version is probably a sane default).

4. Make sure the selected Proton or container runtime version is installed. These should be available for installation from the Steam library by default. If you can't find them, click the dropdown above the search box in the Steam library, make sure "Tools" is checked, and make sure the "Show only ready to play games" option ("play" arrow in a circle icon to the right of the same dropdown) is disabled.

5. Launch the game from the Steam library.

[1] https://distrobox.it/compatibility/#containers-distros

[2] https://github.com/ValveSoftware/Proton

[3] https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/b...


Why was this downvoted? IMHO containers, especially now that distrobox is here, are a great way to solve this problem. I use it all the time and it's wonderful!


If you haven't already checked it out, systemd-nspawn is invaluable if you find yourself needing to use chroot.

Combine it with QEMU's usermode emulation + binfmt-misc and you can run chroots for other architectures, too.


It depends. First, I think the kernel point is a powerful one.

Second, until Wayland, X11 also created crazy backwards compatibility. You can take run X apps that are decades old.

Where backwards compatibility is poor is in the desktop libraries like those in the GNOME and KDE ecosystems.

Even there though, the old libraries still work. You can keep them around if you want.


Indeed, and with tools like Distrobox nowadays, it really is realistic to have a Fedora 40 host system running apps compiled for Fedora 17. In related news, being stuck with RHEL on the host has gotten a lot less painful. Desktops are finally really benefitting from containers (including flatpak)!


In spite of this, GNU/Linux is also getting bloated and slow.


Plus backward compatibility. They add code but never take it away.


Eh? A lot of things have been lost ("taken away") on Windows.

I can think of a few off the top of my head:

64-bit versions can't run 16-bit applications (including MS-DOS software), for instance, which broke all kinds of stuff for people who never knew that they still needed this.

Ye Olde Windows Help system disappeared starting with Vista, which broke a huge amount of the online documentation that still-functional software had been using (including, maddeningly, my own bought-and-paid-for copy of QuickBooks).

Subsystem for UNIX-based Applications is gone. It used to be a thing, and now it is not.

32-bit hardware compatibility: Gone in Windows 11 (and Windows 10 EOLs in about a year and a half).

OS/2 binary compatibility: Windows included the ability to run [some] OS/2 software in NT-based versions, up to (and including) 32-bit XP.

And that's just some stuff that me, a complete non-expert, can think of straight-away.

Maybe it was all cruft, or maybe it was useful. Maybe it's better that these things are gone, or maybe it is not.

But these are all things that used to be present, and that are now no longer present.


Windows 11 won't run most DOS or Windows 3.1 or Win16 Windows 95/98/ME programs.

XP does.


W10 32-bit will still do this (while W10 is still with us) after enabling NTVDM so it works like XP in this regard.


It will, but using different methods.


Isn't that going away with the new ARM-based Windows systems?


Yeah, it's pretty annoying.

I could happily live without animation, transparency, and rounded corners in my UI.

Not sure what new 'features' I couldn't live without. I don't use the background indexing/search stuff, I switch off Cortana, I try to stop as much of the background stuff as I can.

Perhaps there's some pressure from the underlying platform too - modern PCs seem to be more complicated than the ones we used to run XP on.


One thing to do is to turn off unnecessary services and startup programs. Once you do this, the system becomes amazingly fast. I had to recently setup up a WFH machine with just Chrome and nothing else. I ended up using Win10 (Win11 didn't support the mobo) and went through and uninstalled everything that was activated by default. I also set up autologin and fastboot. The system ends up booting from a cold start in a few seconds and can get to the desktop before the monitor is fully on and displaying something.

Be careful with disabling services. On a different machine, I disabled the Windows Store because I thought I would never use it and then later spent hours debugging why an app I downloaded from the web failed to install with a mysterious error. One thing to try is to turn off/disable/uninstall a service or program each day and log what you're doing in case you need to reverse something that breaks the next day.


>setup up a WFH machine with just Chrome and nothing else.

If you really narrow your use case(s) you can disable all kinds of things that are taking up memory and distracting your processor.

I just did this for somebody too. Previously had current W11 since it came out, but the web platform was just changed, and suddently they couldn't keep Edge from interfering with the intended workflow any more.

The employer only ever claimed to support W10 and Chrome so that's what I cooked up for the multiboot menu now.

Only partitioned 32GB of space, and it's only about half full, there's nothing else installed except Chrome.

Edge has been fully neutralized, and it's smooth sailing.

No more Teams either, its webcamming in the browser now.

They've been at it doing WFH a long time, way before covid, years ago I tested a Linux distro using Chrome and it worked even though no Linux or Mac was supported.

Now with this stepwise change, for the actual tasks being accomplished, it does seem like a lot of the worker interaction with the main office which was once solely to co-ordinate with the team and all contribute very comparable value-added work independently, is now as familiar as possible while more likely being utilized to train a different entity to perform the value-added work in the future.

For this type of thing Windows 11 does appear to be offering more possibilities than ever before, but Windows 10 doesn't look like a real slouch either.


>Once you do this, the system becomes amazingly fast.

Until the next update.

You people told me if I bought windows pro, I could forever turn off ads. Welp, the update happened and I got more ads.

I would be on Fedora if not for a customer requiring Windows software. Its such a garbage OS, Linux is literally better now. Even for grandma.

Btw does anyone else have some weird UX/UI bug where the right clicking makes the text the same color as the background? I don't have bugs in Fedora.


> The system ends up booting from a cold start in a few seconds and can get to the desktop before the monitor is fully on and displaying something.

Are you exaggerating or is it really that fast? If so, that is amazing. I'd love to read a blog post or something to see what your hardware is and how you got it that fast.


One word: nvme


I am fairly certain you're right about there being an nvme, but GP did also mention disabling a number of services.


>disabling a number of services.

This has always been helpful, now seems about essential.

The one I just worked on in my other reply has the regular old W11 on one partition and the clean new carefully prepared W10 on the other partition of the same chip-based SSD. Page File (swap file) and hibernation have been disabled, these are not needed since there is plenty of memory and it's a low-energy desktop PC.

When you boot from a cold start the UEFI firmware takes a couple more seconds since the extra partition is there, but after that W10 pops up in less than 20 seconds. It's not a very powerful PC, a bit below mid-consumer range, and it's a SATA version not nvme.

It's just not really painful at all to reboot between W10 and W11 whenever you want to.

The advantage is like having two different PCs, which is also the disadvantage because you have to install two OS's for real.

If I was a gamer I would want at least one OS to be that way, optimized but not exactly for WFH.


Reminds me of this blog post comparing modern Windows on a modern system to Windows NT 3.51: https://jmmv.dev/2023/06/fast-machines-slow-machines.html

And the HN thread: https://news.ycombinator.com/item?id=36503983


It's cheaper to make unoptimized software. Business is not interested in making it fast, as long as users don't complain.

And that's how we end up with software that's just fast enough to keep users from seeking alternatives.


Yes, take MS Teams for example. Takes around 1000MB or RAM. Older chat apps used way less. IRC used less than 1MB, sure it didn't do voice or video, but it could do things Teams still cannot do.


MSN Messenger could do voice and video, in a few tens of MB of RAM, on a single core CPU.

Here's some amusing threads 18-19 years ago when people were complaining that it was using over 20MB:

https://www.neowin.net/forum/topic/273565-msn-messenger-7-at...

https://www.neowin.net/forum/topic/442458-msn-messenger-75-e...


> as long as users don't complain.

Users do complain. The only response they get is to do a repair.


Do have any specific benchmark that shows declining performance?

One thing that comes to mind Windows XP was the last version without desktop composition. I don’t have hard numbers, but I would guess it adds more latency and requires more GPU memory than the Windows XP rendering system.

https://en.m.wikipedia.org/wiki/Desktop_Window_Manager


Just compare the minimum required hardware.

It isn't even possible to run Windows 11 on hardware that XP ran really well on.


There are a few reasons:

1. People expect more functionality, and that requires more processing power

2. Fancier eye candy

3. Spyware, or telemetry, or whatever else you want to call it

4. More background services are running by default


Added security layers as well.

Source: Worked on developer APIs for Windows Universal Apps. Those sandboxes don't come for free.


+1, sandboxes are really heavy performance-wise.

The telemetry gets bad rep, but its impact is almost non-existent. At least for the actual telemetry. There's some functionality crap, like Bing-search in Start menu, which slows user down, because it makes a web request. But that's an actual feature. Telemetry is just sent in the background, whenever CPU is not busy.


There was a lot of contention when Cortana was being integrated into the start menu directly. They have very temperamental performance tests for first paint on the start menu open. Cortana caused their 250ms (or something to that number) first paint time limit to exceed to over 5 seconds for first paint. After enough grumbling, they eventually decoupled Cortana from the start menu directly. Thankfully.


Bing is just telemetry disguised as a feature.


Sometimes I wonder if it hadn't been better to spend 20 years hardening the existing APIs instead of all this sandboxing upon sandboxing.


No. We need to patent this round thing. /s


> 2. Fancier eye candy

I suppose you are reffering to WinXP. /s


I don't think the OS is particularly slower, in many ways it handles modern hardware a lot better. I notice two particular effects of poor latency which I think contribute to the times when things are appearing to be slow.

1) Applications that aren't native and especially electron apps or similar. These are terrible slow to start since they are pulling up an entire browser environment to display their interface and they tend to start slowly and often run poorly. There are a lot of them about now.

2) CPU power profiles where the CPU is sat at idle and zooms up to boost speed can take quite a while for some reason and this causes a lot of Windows effects to miss a frame and getting janky. This really depends on your processor and power profiles and core parking settings but its bugged me for years that processor power saving is clearly not just free and one area you notice it is when going from idle to launching apps or doing something UI wise that has a lot of movement.

But generally I don't think Windows is much slower. It uses more RAM and drive space and it really can't be run on anything but an SSD now but power saving consequences combined with inefficient apps is mostly where I notice its not smooth.


The question is completely meaningless and impossible to answer unless you specify what exactly you mean when you say "performance". Operating systems do lots of things, including in userspace. The answer to your question could be how a userspace library handles many small files being read concurrently, or how the network stack works, or a hardware accelerated UI animation, or sound mixing latency, or memory allocator implementation details.


Windows 10 LTSC is about the same impact as Vista (2006).

XP ran pretty good on a PIII 500MHz / 512MB if you kept an eye on startup bloat via msconfig.exe / autoruns.exe

XP still had major flaws security wise until SP3 came out. The solution was to keep the flaws and try to code around it without touching the foundation.

It's gotten worse because more crap on the PC to capture you as a consumer. That's why they don't call it "My Computer" anymore.


I've been using Windows 10 LTSC (1809) on my x230 for several years now and never looked back.

I also love OpenBSD as a desktop, unfortunately I need battery life and Windows is better optimized in that respect.


XP had to run on single-core, single-threaded processors on machines with 256MB of RAM.

Software stacks got deeper and more resource intensive, and the OS has more features.


I've only had one fatal PC accident, which took out the motherboard and CPU. This happened about a decade ago, CPU was an i7-870 and I ran Windows 7 on it.

The SSD and GPU was fine, so I quickly changed the motherboard to a several-years old low-end dual-core Celeron I had held on to when upgrading someones PC. It didn't have more than 2GB of memory either.

Windows 8 had just been released, so I tried installing that as I had read they had spent some effort trying to make it run better on lower-end hardware.

Surprisingly, with the SSD, I could hardly notice the difference to my old box in regular use. Sure it was a tad more sluggish at certain things, but overall it ran like a champ. With the beefy GPU I could even play a lot of games at decent framerates.

I recall being quite impressed at the time.


I am not sure what particular performance metric we are discussing here. I can however say that from a gaming standpoint Windows 10 and 11 perform extremely similar. This at least was the case when Windows 11 was first released and I made the switch to Windows 11 at that time. Since then, several CPU vulnerability mitigation updates have come out which reduce performance. If you are most concerned with gaming performance, you can disable many (but not all) of these mitigations. It's unclear whether your comparison includes an equally fully patched Windows 10 with all the appropriate CPU vulnerability mitigations.


I wanted to add to this discussion that there's a whole Windows 7 scene that's live and kicking.

They focus on a lot of extra set of tools like the former classic shell that has been forked to make it more maintainable, or the former windows internals tools and their integrations. They also backport a lot of drivers (and there's HUGE bundles of drivers available) to make it run on modern Ryzen hardware.

Ironically, a lot of hackers and ransomware operators use Win7 because it has a much smaller attack surface than the crap that is now Windows 11. Well, that is if they're not using Linux these days anyways.


I'd like to hear more...


Modern windows performance is bizarre. Even the “new” task manager seems to be bloated and can take forever to render. Windows Explorer is useless if OneDrive syncs a lot of files.


I think the current version windows require fresh install and tweaking.

Fresh install makes sure there is no vendor spyware, like Lenovo superfish.

Then I disable internet stuff. Cloud, cortana, menu start search should not search internet for answers, etc, etc.

After that computer should be much faster.

I presume recall feature will also consume high volumes of energy and pc time.


"Perform", for whom?

I'm sure it's performing much better than XP as far as M$ is concerned...

One shouldn't look to M$ for a performant computer in general. The black box nature makes it largely untunable, and it's top priority will always be to provide maximum benefit to M$, not to the user...


This is a silly question.

You can't compare an OS from 22 years ago to an OS from today.

Even if there was a simple definition of "worse", in this context, which there isn't, they're from completely different worlds designed for different uses on different hardware.


Sure a person can. A consistent metric is how long my key press takes to render on the default terminal.


> You can't compare an OS from 22 years ago to an OS from today.

Yes, because the today's OS looks much worse.

Apollo Domain OS was a distributed, multiuser, multitasking OS (actually 3: Aegis, BSD and SYS5R3) which run on 4 MB of RAM in 1988. Today windows is strugling with 16 GB.


23ish more years of development by microsoft


why is the interface always so slow to load, compared to something like any video game UI made in any game ever?


Casey Muratori has some great YouTube videos (a.k.a.: rants) about the end-user visible performance degradation over the last two decades despite computers becoming 10-100x faster by various metrics.

E.g.:

Visual Studio Rant https://www.youtube.com/watch?v=GC-0tCy4P1U

How fast should an unoptimized terminal run? https://www.youtube.com/watch?v=hxM8QmyZXtg

The root cause is that Microsoft simply doesn't have performance as a priority. It's not a KPI for (almost) anyone, certainly nobody in the desktop teams. Upper management doesn't prioritize input latency over telemetry or advertising "features". It's that simple. There's no pressure, no rejection of slow code, no metrics, no pride in good engineering. If it barely functions, it's good enough to ship.[1]

Microsoft employees will occasionally comment to say otherwise, but their statements are contrary to easily verifiable facts, such as massive performance degradations in trivial tools such as the new Notepad, the new Terminal, and the Calculator app.

The actual specific technical reasons include:

- Executables used to be loaded from disk one 4KB page at a time. Execution could start as soon as the first 4KB block was loaded. For a long time now, executables are digitally signed using a hash like SHA1 or SHA256, which means that large executables can't actually start running any code until the entire file is loaded. The obvious fix -- that didn't occur to anyone at Microsoft -- is to use a Merkle tree hash instead of a linear, single-threaded, whole-file hash like SHA256.

- Similarly, anti-malware like Defender will pause execution until the entire file is checked. This is often even slower than the hash check. The caching of this is poor to non-existent in practice.

- The Desktop Window Manager (DWM) performs several layers of buffering and swapping before an update gets to the screen. This has improved in very recent builds of Windows 11 but still has some overhead. An effective end-user workaround is to use a high refresh rate monitor such as the new 240 Hz OLEDs. There's a good online rant about it that can be summarised as "only Apple cares about this": https://danluu.com/input-lag/

- Heavyweight dependencies. Modern GUI toolkits like WinUI drag in half of all source code ever written by the human race if you look at them wrong. The Calculator app was taking 10s of seconds to start for some people (ultrabooks on battery) because it was loading crazy stuff like the "Windows 10 Hello for Business account recovery helper"! Why!? Because nothing is shared any more, every process loads its own dependencies... such as: HTTP client, which requires HTTP proxy support, which requires HTTP proxy auth, which requires Windows Auth, which includes Windows 10 Hello for Business passwordless auth, which requires... account recovery GUIs. For a calculator app. And the terminal. PowerShell. CLI tools in general. Etc... Yes, it's nuts. (Keep in mind each dependency must be loaded in full, hashed, signature checked, and scanned for malware!)

- Telemetry. Every team says they do it efficiently, but only after customer complaints pile up. Some teams never learn, because it's fast for them, either because they know the secret code to turn it off, or because they're 1ms away from the telemetry collection endpoint. Intel for example (a hardware company!) has multiple telemetry tools force-installed with their drivers that spend > 10 minutes(!!) of CPU time daily on my laptop. I have to go and use NTFS ACLs to block execute permissions on those things because it "repairs" itself more aggressively than Bonzi Buddy. NVIDIA injects their telemetry into third-party processes, so about 20% of the startup time of the built-in Calculator App is NVIDIA telemetry. It's not a game! It just happens to use DirectX for graphing... so NVIDIA has to know about it. Etc... Microsoft themselves are the #1 worst offender. At one point, Office + Windows had 220 separate telemetry services or endpoints that I had to track down and disable (for a secure VDI project).

PS: You know it's bad when a vendor starts releasing workarounds as a feature for the mis-features of their own product. The new Windows 11 "Dev Drive"[2] exists only as a workaround for bypassing the massive overheads of Window Defender. You would naively think that simply excluding a folder from Defender would have the same effect. Hah! No. Even the IntelliJ IDEA devs got fooled by this, their IDE has a feature[3] to exclude project folders form real time A/V scanning. This does nothing in Windows 11! All files are always scanned by Defender, even if a third-party anti-virus is installed. This behaviour is the same even on Windows Server, which is one of the main reasons that Azure DevOps build pipelines are something like 4x slower on Windows than on Linux. [4]

[1] To be fair, most software companies are exactly the same. The industry as a whole has an allergy to performance optimisation, and regularly ships billion-dollar products with performance issues in them that would blow your mind. Think of how slow Jira is, or this doozy: https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times...

[2] https://learn.microsoft.com/en-us/windows/dev-drive/

[3] https://intellij-support.jetbrains.com/hc/en-us/articles/360...

[4] https://github.com/microsoft/azure-pipelines-agent/issues/44...


>Intel for example (a hardware company!) has multiple telemetry tools force-installed with their drivers that spend > 10 minutes(!!) of CPU time daily on my laptop. I have to go and use NTFS ACLs to block execute permissions on those things because it "repairs" itself more aggressively than Bonzi Buddy. NVIDIA injects their telemetry into third-party processes, so about 20% of the startup time of the built-in Calculator App is NVIDIA telemetry. It's not a game! It just happens to use DirectX for graphing... so NVIDIA has to know about it. Etc...

Any more info on this? I now want to start looking into blocking these myself.

Thanks for the well written and informative post, I enjoyed reading it!


I wish I could up-vote you 10x.


Experienced Developer / ex sysadmin here : short answer, they are bloated in every possible way and one reason is that software houses, developers, contributors, maintainers don't want listen users when they say: "I do not want this feature because I don't need it" so they do not give any power of choice to their users about disabling, deleting, removing, not installing features they don't want, they don't use or they make that possibility so hard to implement users desist.

Every time I need a new laptop I remove a considerable number of services and programs, I change when possible even the windows manager, I also change lot of default configurations that are useless and /or waste resources, cpu, battery, disk, network.

Also, that is useful for security reasons reducing the attack surface.

Taken individually software I remove seem harmless but, in reality, they are like zombies in large number they can eat you alive.

For example: voice control, this to explain the concept, I never use it, especially on my professional machine. Do you imagine people in an open space office, screaming orders to their computers ? But maybe a disabled person can depend on that feature so it's good to have the possibility to enable it but do you think it's acceptable that this is installed by default on your phone / computer / whatever ? "Yes, but it use only 0.6 % of cpu in standby, you are exaggerating !" Yes of course, it seems harmless ALONE but, of the hundreds of process now in execution on your pc how many are doing tasks useful for you ? On the other hand, how many are there because are installed by default, just in case you are in a small user of groups for that application ?

I observed systemd-oom on my machine using a fix 0.5% of CPU, I have 64GB of RAM and 4TB of disk, I oversized explicitly that computer for my jobs. Why I should need this daemon ? Oh, anyway, do you know how work con AIX ? you can reserve some RAM for emergency shell so, in case of OOM, you can take actions without a stale. Again, "You are exaggerating, only 0.5% of CPU !!!". Yes, alone, but in this moment I have 560 process in execution on my pc: if 100 are bloatware, 50% of one core is gone being optimistic with related net, RAM, disk, battery, etc. Again, if someone find it useful, good for him, good to have the possibility to install it.

I would like to have a real minimal installation mode, where I can select explicitly what I want to install, in detail, plus, for everybody else a "premium bloat inflated mode" the install utility like scratch-my-back-d and every "just in case whatever" one could desire.

The number of that "inutilities" is increasing because someone think are required from a MODERN USER, but in reality, if it was still upgraded / updated, I could do my job with that very OS of 20 years ago, but at speed of light.

I remember that every time I use a VM with legacy software that's so speed I can't believe it.

We have start menu that search on Internet software to suggest you for installation, advertisement everywhere, telemetries , statistics, convoluted GUI with animation, effects, bullshit that don't add useful features. Simply they are here "just in case".

And about the programs ? Even worst: layer and layer of usefulness coupled with MODERN programming tools, paradigms, language that in the facts kill the performances.

About the cloud ? It's inserted in every possible useless / annoying way in functionalities that in no way take advantage from that.

Web app ? I'm sure that 10 years ago browsing was faster ! Same reasons.

The sad story is that at the end, in case of commercial OSs like Windows / MacOS you are paying for software, for hardware, for electricity that execute tasks you don't want and you don't need and, with few exceptions, the same jobs you was doing 20 years ago with XP are now slower. Linux ? Major distribution are becoming in indistinguishable from commercial OS, at least you don't pay for the software.

I'm listening more and more people saying: "I want to migrate to OpenBSD". Don't you ?

"Eh, but now you have wifi, ultra-mega-xd VGA, etc, etc".

Of course and also I have a 20 core processor, 64GB of RAM and a monster VGA with 8GB of RAM, 2 high-end NVME and still I had a 1/2 second lag after every key I press in my terminal, before I removed tons of bloatware from my laptop, full story here:

https://news.ycombinator.com/item?id=40110342

so at the end the status of modern OSs piss me off twice. Try to search on Google "Ubuntu 22 slow on modern hardware" or something like that.

I'm listening more and more people saying: "I want to migrate to OpenBSD". Don't you ?


P.S. I want to add ancillary rant here about the MODERN concept of PROFESSIONAL EDITION: I also have Apple computers, a MacBook Pro for example. If I take a MacOS version from the past, let say Snow Leopard, and compare it at the one in use on that computer right now , an allegedly PRO system, do the new version improve my job ? Because this means "PRO", right? Something you use in your profession , right? REALLY, NO, let's add some details: - Snow Leopard gave me the feel of something FAST , this one only at the beginning, after some service upgrades of the OS in use, the infamous rainbow disk started to spawn;

- On Snow leopard I could use dtrace/dtruss , here if I have to investigate an application, I have to reboot the system, disable the SIP and wait that the problem manifest. This is especially stupid, I mean to force a professional to follow this workflow depriving him root privilege on it's own system. Image if Linux decide to do something like that and you have to reboot a server to use trace.

- X is still a thing, I use it at work, In Snow Leopard it was integrated , now I have to install XQuartz, that, for what I know is a one-man-project, with all the problem it implies ( and I want to thank the maintainer for the recent bug fixes , solving problem I had ); - CUDA: I can't use CUDA, an industry standard on MAC, I was able to use it on previous version of MacOs until Apple decided it's bad for us, publicizing the delusional idea that I can do the same jobs of an high end GPU on an Mxxx processor.

- ZSH: at some point, Apple also decided BASH is bad for you and your life will be better with ZSH. So, let's throw away a consolidated standard tool for some hipster stuff facilitating script kiddies to have multicoloured, fluorescent, pimped cursors on it ! Obviously not 100% compatible with BASH, so you should modify your scripts to conform. Luckily, Bash can be restored.

So I can do LESS with this MODERN OS that a 10 years older version. But now it has more vivid colours and that's good for your mood. And, again, my perception is that it's slower, doing the same tasks I did on Snow Leopard.

Are pro version adding some professional tool, capability, whatever that improve my professional experience or productivity ? NO.

So, how is justified the "professional" adjective here ? It seems more marketing gimmick to me. I feel less productive, but I have Apple TV, Siri and tons of bloatware should be present on a PRO machine and sometimes, A VENT. Yes, the difference from pro and non-pro sometimes is that the pro version can better dissipate heat.

Think about it.


Answers will be about the same as if you had asked "What makes Windows XP perform so much worse than Windows 3.11?"


But the gap between 3.11 and XP was about 8 years. The gap between XP and 11 is a full 20 years.


I don’t remember Windows 3.11 being that performant… do you?


I do. It started up pretty quick. The hardware requirements for a "good" system were drastically different. A decent Windows 3.11 system had 16 megs of RAM... Windows XP needed at least 256 (maybe 512??). XP seemed like a pig when it first came out. Not as bad as Vista though...


16MB for a WfW 3.11 machine was a hell of a lot at the time 3.11 was launched. Most PCs in the installed base would have had 3-4MB. New systems in 1993 were coming with 4-8MB.


Yes, I agree! I did say "decent"... I remember getting a 486 in mid 1994 and it had 8 megs. My earlier 386SX box had 4, if I recall. 16 would've been higher end for sure.


I ran Win310 on a Am496DX4 (100MHz) with 4MB FPM memory. I don't remember ever complaining it was slow.

The first time I remember complaining something was slow was Win98 start menu. Win95 kept it all in memory. Win98 read all the .lnk files every time the user clicked Start. First opening was atrociously slow because the files were not in cache. It was something like 2-3 seconds delay, while Win95 was instantaneous.


Yep, Win98 definitely seemed sluggish... Win95, on the other hand, was basically targeting the same hardware requirements as Win 3.x. By the time Win 98 came out, we were well into the Pentium II era. Systems with 64 - 128 megs of RAM were becoming common.

I worked at a "startup" in the 98 to 99 (I put that in quotes since it was actually a subsidiary of a mid-sized corp pretending to be a startup.) The requirements for our app was Windows 98 with 64 megs of RAM minimum. We had a bunch of systems like that in our test lab and they basically were barely adequate. As developers, we were running NT 4 with 128 megs RAM on Xeon desktops. Those were pretty snappy boxes.


I don't remember the difference being that large between them.


Try and run XP on a machine that shipped with 3.1.


You can run Windows 3.11 decently on a 80286, a machine which can't even run XP at all. You can also use Windows 3.11 on a machine with less than 4 megs of RAM, easily. So no argument there.

But if you just bump up the RAM until XP is comfortable, maybe 64 or 128 megs, there isn't much difference between Windows 3.11 and XP in speed. (If you disable the fisher price UI in XP.) If you run more than one program at once, XP definitely starts winning. Win 3.11 is shit at multi-tasking.


I haven't found the performance to be different between XP and 11, for what it's worth.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: