K.Mandla's blog of Linux experiences

Why bother?

alexandru asked a very good question after the last post, and it’s one that’s probably worth answering in detail, rather than as a return comment. In short, he asked, why make such a big deal out of start time? What’s it matter how long it takes for a computer to start? Performance after the boot is what’s important.

And that’s true — I agree wholeheartedly. How well a system performs after it has started is the real issue. After all, a 450Mhz K6-2 that starts in 25 seconds is great — but if it takes two minutes to render a page in Firefox, then there’s not much point. Slow is as slow does, Mrs. Blue.

And I agree with that in a large part because that’s what determines whether someone throws out a computer, or keeps it for a few years longer. Start time and runtime performance are the biggest complaints about old computers. Ask anybody.

The problem I face is this: I can’t really measure running performance. Sure, I can start Firefox, and time it against my wristwatch, and maybe have some sort of number to point at for improvements or regressions. But that’s not very precise, and not very practical. And geeks dislike the impractical or inaccurate.

Now boot time, on the other hand, is very measurable, and I don’t just mean with bootchart. This is something with a definite start and finish that’s convenient to point at and say, “This works better.”

And for me, the two ideas are analogous: A fast-booting system usually performs fast, and vice-versa. Slow, grinding desktops that take minutes to appear generally have a sluggish feel to me. Maybe it’s my imagination, maybe not.

It’s something I can best illustrate with, of all things, the Nvidia proprietary driver on my Geforce4 440 Go. This is something that should, in a vague and general sense, perform independently of the operating system. But I get a mediocre frame rate in glxgears in Ubuntu, a better number in Arch, and a fantastic rate in Crux. Guess which one boots fastest?

No, it’s not a perfect correlation, and I admit it. But I can’t deny that the customized systems I build start faster and have a faster “feel” about them than the stock, default desktops. I think most people with the same priorities would agree.

So I stick with what I can measure, and what I can reliably report.

There are other reasons for my fanaticism. I started working with computers on a machine that started in 2 seconds — the ubiquitous Commodore 64. And as Amiga owners will testify, it was nothing unusual to see their machines start in as little as 7 seconds — not bad for a machine with a 7Mhz processor. Slow-booting, sluggard systems are a recent innovation, but one that everyone seems to accept as status quo. Perhaps this is my own little war against the bloat.

And part of it is dissatisfaction with the trend in Linux operating systems. Ubuntu (and in particular Xubuntu) gets away with a lot of its bloat because most people have machines faster than 1Ghz. If we were all working with Pentium IIIs — and Pentium IIIs were much more commonplace when I started working with Linux — there would be more complaints about start times, system speed and so forth. (And in November 2005, there were a lot of complaints about start times and system speed.) Dual cores and high-memory, high-speed systems compensate for slow-running Linux systems, as well as the Windows ones.

As far as compiling software and taking the time to tweak things … I have time, and I enjoy the challenge, and I feel like I’m learning something, so I don’t mind. I know there are lots of arguments one way or another, and most anything I suggest can be successfully negated (or at least lampooned) by sites like this one, but it doesn’t stop me from trying different CFLAGS, or ripping out the heart of Ubuntu and replacing it with my synthetic version. I don’t have to explain my art to you. :mrgreen:

But that’s where I’m at right now. It’s been a long journey since that first Ubuntu installation, almost three years ago, and I never really planned on ending up here. But I like it. :)

Post navigation

5 thoughts on “Why bother?”

There’s a lot to be said for something reliably measurable, as you say. Of course not every tweak that shortens boot-time is necessarily going to improve performance once up (unused drivers?). It would be nice to have some kind of standard test for general speed.

The slower your processor the more important this gets (mine’s 450MHz) and the more time you might be prepared to invest to wring a bit more speed out of old hardware. By following this blog, we can benefit to some extent from the time you’ve invested, and plug the results straight in to our own setups. :)

Interestingly, when I experimented with #!CRUNCHBANG Linux a while back, one of the very unscientific speed tests I performed was a side by side boot-up smackdown between my wife’s laptop running a default Ubuntu install and my laptop.

Ok, my method didn’t produce a boot chart or any hard numbers, but it was fun. The results were surprising.

Even though my laptop has a slightly faster processor and twice the RAM, my laptop running #!CRUNCHBANG Linux booted up only 10-12 seconds faster than my wife’s – three times!!

So there is definitely more to building a fast system than adding Openbox to Xubuntu.

IMX (going back, specifically, to mainframes in the 1970’s…), SysInit time and run-time performance are normally INVERSELY proportional.

This is a so-simple-it’s-silly example, but then I’ve been up for 48 hours. It takes time for Linux to activate the swap partition – and the system runs MUCH faster in real-time as a result.

I realize the days of the traditional mainframe are long gone – but they made a perfect platform for demonstrating exactly this. When the “box” cost $5 MILLION, and served 100-1000 users over mostly 9600 baud async telco circuits, anything that could improve response time – even by .1 secs/transaction – yielded a HUGE (effective) performance increase when 500 people are shoving 4-8 transactions/minute/user at the machine.

There was an entire generation of ‘experts’ (I was one) who spent a large portion of their 8 hour days finding ways to improve performance (esp on-line performance) of those beasts – and, in MANY cases, it often involved tweaking SysInit, INCREASING boot time in order to DECREASE response times. When the only times you booted the thing were after a hardware malfunction or power fluxes or outages, no one cared how long boot took – hopefully you weren’t doing it even once a week (in reality, of course, the hardware of that era rarely run for a week w/o SOME problem cropping up). We would GLADLY trade an entire MINUTE of boot time in order to improve response times while running.