Faster chips, slower software -- we're running in place!

HIGHLAND PARK, Illinois, March 17, 1998 -- Anyone who works with computers has probably heard of Moore's Law, which states that processing speed doubles every 18 months.  Well, it's obvious that Moore isn't a software guy.  Because no matter how far chip designers can increase the speed of their chips, software designers go an equal distance -- in the opposite direction, turning out fatter, slower code that eats up all the extra power today's computers have.

Eleven years ago, I bought my first serious desktop machine (not counting a 1979 Ohio Scientific C4P, which was fast for its time but was mostly suitable for playing games).  It was a Hyundai PC with an 8MHz 8086 CPU, 640 kilobytes of memory, and 20 megabytes of disk space.  It ran DOS 3.2 -- and ran it pretty well.  I used to run a word processor, various communications programs, a sequencer (a program that functions like a piano roll, for an electronic synthesizer), and all kinds of stuff.

Now, I'm composing this Web page on a Compaq Presario 1210, which has a 150MHz Pentium chip, 32 megabytes of memory, and 1.4 gigabytes of disk space -- and yet this machine is really no faster than my old one, in terms of getting my work done.  It's thousands of times faster, in terms of instructions per second, than the Hyundai.  Yet this machine takes longer to boot up, applications take longer to start, and generally speaking, it takes just as long to accomplish a given task as it did on the old machine.  This one (with Windows 95) also crashes much more often.

The problem is that software developers no longer feel any obligation to write efficient code that makes the best use of the available computing resources.  Because processors keep getting faster and faster, disk capacity gets higher and higher, and memory gets cheaper, the software industry has punted its responsibility for staying lean and mean.  If Windows is a pig, they say, that should be no problem -- because CPU's, disk and memory are cheap, so you should just keep throwing hardware at the problem until it goes away.

What this means is that you have to throw away your computer every few years and buy a new one, despite the fact that the old one works just as well as it did they day you bought it.  My rule of thumb is that I try to stretch a computer out for five years before I replace it.  I still have the 8086 machine, but just try using it to run any of the software that's come out in the past six or seven years -- it's impossible.  Five years after I bought it, I replaced it with a 486 machine with 4 megabytes of RAM and 170 megs of disk space.  That machine, in turn, was adequate for a few years, until the software got too big and fat for it to handle.  Nothing wrong with the machine, once again -- but as with the 8086, the 486 machine was rendered obsolete by software that was the digital equivalent of Haystacks Calhoun (you remember him, the 600-pound wrestler, who used to flatten opponents with the "Big Splash").

So here I am, using this 150 MHz Pentium machine, which has enough horsepower to run Windows 95 pretty well.  But in terms of getting tasks done, I can't honestly say it does a whole lot better than the computer I had ten years ago.  And I can see where it's already reaching the point of mere adequacy when running the latest software.  I've instituted an informal no-upgrades rule -- I no longer install a new version of any application until I have to do it in order to do something I need.  I'm still running Lotus Notes 3.2, despite the fact that the rest of the company has upgraded -- simply because 3.2 still works for me, and I know the new version would be bigger and slower.  I have not installed Internet Explorer version 4 -- I'm still on 3.02.  And there I'm going to stay, even though the new version is free for the downloading.  I have Netscape 4.02, and I have no intention of upgrading that application, either, until 4.02 doesn't work anymore.   I've already had to upgrade this machine once (from the 16 megabytes of memory it came with, to 32 megs).

Nonetheless, I can already see that this machine is probably going to be inadequate, and in need of upgrading or replacement, within a couple of years -- not to be able to do new stuff I can't do in 1998, but simply to be able to do the same stuff using the porcine code that's coming down the pike.  Where does it all end?

There's an old saw to the effect that work expands to fit the time provided.  In the computer industry, we might as well update that saying: Software expands to fit the hardware provided.  This is great, if you're in the hardware business.  But if you're a computer user, it stinks!

Copyright © 1998 John J. Kafalas

Feedback?  Drop me a letter to the editor, and I'll post it on-line!

Urb's previous columns can be found in the Column Archive, where you'll also find letters to the editor.
Return to the home page