4 ms·
Probably because it doesn't need to be fast, and being fast at installing doesn't sell more copies. You've already bought it at that point, and you only do it
by cbanek 9y ago
Probably because it doesn't need to be fast, and being fast at installing doesn't sell more copies. You've already bought it at that point, and you only do it once.
Installations and uninstallations of software aren't as well tested as most people think, and keeping metrics of how fast you can install or uninstall aren't really a thing for most software. For office, if it installs 10% faster, and saves you a few minutes, would that sell more copies? Probably not. Making uninstall faster? Almost certainly not going to help.
If you don't benchmark something and care about its performance, it's unlikely to get better, but pretty likely to get worse over time, as code accretes.
One classic perf bug was in the a very old visual C++ installer (I think it was 6.0). Drawing the progress bar and printing out each filename as it was installed felt good to the user - it was doing something. But drawing that and having to update textboxes took a non-trivial amount of time. The fix? If you minimized the installer, it would run a LOT faster, like minutes faster.
Installers are more worried about correctness, especially when having to deal with multiple OS platforms. Sometimes there are a lot of extra system calls just to make sure things are going well that might not be absolutely necessary all the time, but fixed a bug "that one time." Those kinds of repeated checks, especially to the filesystem, can really slow things down in unexpected ways.
- wenc 9y agoInstallation speed will help you provision more VMs faster on Azure, and make the Azure infrastructure much more resource-efficient. That said, many VMs on Azure are Linux anyway so Microsoft may not have too much incentive to improve their Windows VM provisioning perf.
- cbanek 9y agoI'm not saying that slow installs are good or bad, and as you point out, there are sometimes good reasons for making installs faster. (Although for VMs, a lot of people use docker or premade VM images just for this reason) In another interesting case I've run into in the past, the installation of World of Warcraft is insanely good and had a lot of effort put into it (a little bit by me, even). This was important as being able to start the game as soon as possible, even before you've downloaded the entire thing, is a way to actually increase conversion to paid users (or really, to not take so long that a person goes off and does something else and forgets to play WoW). This is one reason why there's an incremental install process for Blizzard games that involves a lot more tricks than most people realize.