Thursday, January 29, 2009

The Paradox of Speed

Simply stated, the Paradox of Speed is: The faster the hardware, the slower it runs. I first noticed this paradox emerging in computer technology years ago, with the introduction of the Pentium processor. Our office at that time was full of Intel 486 PC's. We got one of the new Pentiums, and I had the idea of staging a race. I was on one of the 486 66MHz, which had 4Mb RAM and a 9.6k Modem. Another guy was on the Pentium 100MHz, with 16Mb RAM and a 36.6k Modem. Here is how the race was set up. We started with both machines turned off. At the signal, we each booted up, established a remote connection over the Modem, located a particular document, downloaded it, and printed it out. On paper, it should have been no contest. The Pentium, with a much faster processor, more RAM, and faster Modem, should have won easily. However, on my 486 I had the document printed out before the other guy on the Pentium even had his remote connection established. The faster hardware ran slower.

How can this be? The answer is in the factors that I have not yet mentioned. The difference was made in the software. The 486 was running DOS and was dialing directly into a Bulletin Board Service. The Pentium was running Windows 95 and was dialing into an ISP for browsing HTML pages. An ancient 286 12MHz will boot DOS with lightning speed. It will be ready for action in DOS before a Pentium has managed to paint the color graphic Windows splash screen. Likewise, the old original Pentium will boot Windows 95 faster than the newest Intel Duo-Core with Gigabytes of RAM can manage to paint the color graphic Windows Vista splash screen. The faster the hardware, the slower the software runs.

The reason for this is because software development always out-paces hardware development. Software engineers always imagine doing all kinds of things that the limitations of the hardware will not allow them to do. As the hardware storage capacities become larger and processing and transfer speeds get faster, the software engineers already have ideas in storage gathering dust that they haul out, brush off, and implement. Software engineers always push the hardware to its limits. When the hardware limits expand, the software immediately exhausts the new limits. Think of software as water and hardware as a container. The software engineers start pouring water into the container and when the container fills up they just keep pouring. The hardware guys see that a bigger container is needed. They get one in place, but it is not long before it also is overflowing. They keep substituting larger and larger containers, but the software guys just keep pouring.

The software guys will "win" because they have limitless human ideas to work with, while the hardware guys are limited by physics. But, a "win" for software engineers is a loss for those of us who just want a lean, efficient, reliable computer to work with. Such an ideal is entirely possible. However, it is terribly frustrating to realize that it probably will never happen. The Paradox of Speed has become a deeply ingrained trend over the last 20 years. The more software engineers work to improve the PC, the more users of PC's, who just want to get some work done, want to throw it out the window. If I had a nickel for every time I heard someone say that…..

No comments: