PC Makers Try To Pinch Seconds From Their Boot Times
Some computers are never turned off, or at least rarely see any state less active than "standby," but others (for power savings or other reasons) need rebooting — daily, or even more often. The New York Times is running a short article which says that it's not just a few makers like Asus who are trying to take away some of the pain of waiting for computers, especially laptops, to boot up. While it's always been a minor annoyance to wait while a computer slowly grinds itself to readiness, "the agitation seems more intense than in the pre-Internet days," and manufacturers are actively trying to cut that wait down to a more bearable length. How bearable? A "very good system is one that boots in under 15 seconds," according to a Microsoft blog cited, and an HP source names an 18-month goal of 20-30 seconds.
Why this is still an issue in this day and age.
For example, my Mac will go from startup to login in half the time of either Vista -or- Ubuntu (not counting what happens -after- login, but as far as applications go, they're fairly straightforward), but my TV will start in a second or two. So did my old Commodore 64.
How is it that the more power we get, the -longer- this takes? And why is it that the solution always involves hardware makers? Maybe we need to look at how our operating systems are constructed instead of blaming the hardware itself.
If firefighters fight fire, and crimefighters fight crime, what do freedom fighters fight? - George Carlin
Boot time is a pain that we have had since the first IBM PC was released. And it's not only boot time but also shut down time that can be painful.
And for networked PC:s with a roaming profile you will get raped in boot time whenever you have a large profile for some reason.
Some of the time that it takes originates from the "need" to count memory and some for waiting on a bunch of devices to initialize and start. No parallel tasks during startup at all.
Only computer with a decent startup (under a second) that I have experienced was a computer with a ROM Basic interpreter, but then, that's a completely different animal.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
There needs to be an industry wide effort to prevent startup bloatware. Why does windows let AIM install itself as a startup program without having the damn UAC complain that this is a protected area? Why does every HP come with 30 preinstalled programs in the startup? Startup items need to be protected in some way: Seriously, I love it if I installed a program and windows said, "Are you sure you want this program to start automatically with windows?" We should just kill the hardware comapnies for the bloatware they install for kickbacks.
What I have noticed is that what is one of the major culprits in long boot times is antivirus software starting up and doing its integrity checks. Reduce this, and you will reduce times perhaps by five minutes on some machines. However, with Windows, I doubt AV makers could do it without reducing security though.
What really gets me is not just the boot time but the shutdown time. Especially because I often reboot (shutdown time + boot time).
When I tell my PC to shut down, all it really needs to do is make sure that no files are currently being written to disk, force a dismount of all drives, and then cut the power. Everything else is bad programming, as far as I can see. Why does the network have to shut down? Why do a whole load of separate processes have to be given signals? Why does KDE need time to save settings (it should have already saved them in real time)?
If the computer is not doing anything, a clean shutdown should take no more than a second, and yet it can take much longer.
I don't mind boot time so much - what really gets on my nerves is when a machine comes on, pretends it's ready but is then maybe five minutes doing other stuff before you can actually use it while you stare at the screen and frustratedly try to click on things. That's especially bad in the roaming profile scenario you mentioned.
That's perhaps the worst part, as most people that have no idea of how a computer works will start clicking on progran after program, thus starting yet another parallel process that adds up to the rest. And parallel processes take more than the same ones in series because of memory/disk seek times and the need to share a common pipeline.
I always try to encourage people not to "start" after the screen appears, but after "the red light goes from always on to scarcely blinking". Of course most people ignore the advice and press things frantically till they end up CTRL-ALT-DELing and thinking it did the trick.
yes, get back to me when your precious commodore supports LAN, WLAN, 3D graphics, hundreds of input and output peripherals and the literal million things that a modern PC can do
But on my 3.2 bajigahertz Pentium Dual-Quad PosiTraction(tm) Gold Edition PC that I'm typing this on:
- I don't use "hundreds of input and output peripherals". I use two. One more than I did on my C-64.
- I don't do any WLAN stuff ever. Just like I didn't on my C-64.
- I don't use anything LAN related on boot. Just like I didn't on my C-64.
- I don't use 3D graphics on boot. Just like I didn't on my C-64. Granted, I do use them when playing 3D games, but that's well after boot. And when I do use 3D graphics, I have a whole separate high-performance hardware subsystem dedicated solely to generating those 3D graphics. And guess what? My system's 3D performance is far *better* than that of my C-64's, while simultaneously delivering far *better* quality! Why can I have both speed and quality improvements in 3D graphics but not in boot time?
- I don't do a "million things" on boot. I rarely want to do more than one: select a local application which needs no LAN access and run it. Just like I did on my C-64.
So, it appears that your defense of PC boot slowness reduces to: "You're using a mouse now. That makes the 2 second boot times you got with your 1 MHz C-64 physically impossible, even with hardware that runs at THREE THOUSAND TIMES THAT SPEED and has over THIRTY THOUSAND TIMES the amount of RAM." Yeah, everything looks worse in black and white, doesn't it?
Here's the fact jack: PCs boot slow because users tolerate it. If all of a sudden PCs that took minutes to boot to a state where you could run Notepad started sitting on the shelves, guess what? Right: The problem would get solved. Very quickly. Why? Because all of a sudden there would be value to the MS's, Linuxes, and Dells of the world in doing the work required to make boot times what they should be.
This is purely and Econ 101 issue, not a technical one. It's called Gresham's Law: "Bad money drives out good". An Entity produces two PCs. One takes a second to boot, one takes two minutes to boot. Suckers I mean Customers accept either because they don't know any better, and once booted they both do pretty much the same thing anyway. Entity realizes this, and thinks to itself, "Hey, why are we busting our humps doing good work (1 second boot) when we can do shoddy work (2 minute boot) and sell just as many units at the same price?" That thinking immediately get translated into company policy to spend no effort worrying about boot time, and soon everybody has slow boot times.
But what can the sucker that *does* want non-slow boot times do? Pretty much nothing. A well-done, higly-publicized, up-to-date "consumer reports style" comparison of boot times of all currently available systems*OSes*configurations (I'm looking at you, Tom's Hardware) could conceivably force enough of a shift in the "fast and slow have equal value" situation to make it worth vendors' time to spend some effort on improving boot times, but I wouldn't hold my breath.
There is a reason for this "sloppyness": hardware is cheap while developer time is not.
Unless that developer is waiting for his machine to boot. Then, apparently, said developer's time is without cost.