HACKER Q&A
📣 capableweb

Why are Windows and macOS upgrades so terribly slow compared to Linux?


I own a couple of laptops, desktops and servers all running different OSes, some of them dual-booting and some not.

When I upgrade Windows, it frequently tells me the upgrade will take ~2 minutes, so I initiate it by rebooting, and after 20 minutes and multiple reboots, it finally gets me to the login, and first login spends ~5 minutes to login. Overall, terrible experience. Download is done in the background before doing the install, so this is just the installation process.

When I upgrade macOS, the progress in the beginning is fast until it reaches ~40%, then it stops and basically hangs with no process and might take up to an hour to do an upgrade. Same here as with Windows, download has been done in the background, so this is just the installation process, not including download.

Compared to when I upgrade my Linux boxes (most of them using Arch, some NixOS, some (still) on Ubuntu or Debian), the upgrade usually spends most time in the download stage, maybe maximum 10 minutes of installation and then reboot and it's done.

I recently didn't use my workstation that is using Arch for about a month. A huge amount of packages are installed on this as I do a lot of different work, so after a month I had about 40GB worth of updates to download and install. The download took some minutes, it spent some minutes installing all the packages, it spent the longest time recompiling some kernel modules and regenerating the boot images, then I rebooted and was back to work.

But it's never that fast on Windows or macOS. How come? Why is Linux distributions so much faster? Windows and macOS have huge teams working on them, there must be something I'm not understanding or missing, because I can't see how the experience can be so much worse for these OSes compared to Linux distributions.


  👤 bityard Accepted Answer ✓
My own experience matches OP, I never have a Linux update take more than 5 minutes or so.

I used to run a Windows VM for the occasional proprietary windows program (generally some hobby-related thing) but every time I fired up that VM, it would force an update and basically be completely unusable for 45 minutes or more, just so that I could do 5 minutes of work on it. My time is more valuable than that, so I just simply don't use it anymore and have accepted that Windows is unavailable to me.


👤 ActorNightly
Windows and Mac OS software is tightly tied across the entire stack. Linux is more modular. For example, on Windows or Mac, you can't exactly swap out the entire Desktop UI - on Linux you can, quite easily, without affecting the rest of the system.

Additionally updates for Windows and Mac need to be EXTREMELY robust, to avoid breaking lots of peoples computers. And its hard to write robust updates for non modular systems.

As a result, updates to Windows or Mac are often overkill - instead of updating some library, a bigger chunk overall gets updated to minimize the chance of affecting the OS.


👤 darthrupert
Windows and MacOS probably are trying to make sure the upgrades don't fail using a lot of brute force. Linux distros are more "if it breaks, you get to keep the pieces".

👤 phendrenad2
It's unlikely that you'll get a satisfactory answer here, unless someone who's worked at Apple or Microsoft wants to burn bridges and tell us how the proprietary update code compares to Linux.

👤 tssva
> When I upgrade Windows, it frequently tells me the upgrade will take ~2 minutes, so I initiate it by rebooting, and after 20 minutes and multiple reboots, it finally gets me to the login, and first login spends ~5 minutes to login. Overall, terrible experience. Download is done in the background before doing the install, so this is just the installation process.

My Windows upgrades have never taken this long and first login has never taken ~5 minutes. On the other hand I have had upgrades between Ubuntu versions take an incredibly long time.


👤 badpun
I think Windows is making some sort of restore point, whereas Linux just goes ahead and if something goes wrong, you have to spend a weekend fixing it by hand?

👤 sophonX
Maybe linux is light weight and is more modularised than Windows or macOS ? Was it the same behaviour using SSD vs HDD to account for disk fragmentation ?

Maybe somehow windows / macOS updates are linked to something in BIOS (Idk either) ?

Idk.


👤 Tschayba
I think that it is due to the fact that Linux update is broken into individual packages.