By Harry McCracken | Friday, May 29, 2009 at 11:18 am
At Google’s I/O developer conference yesterday, company cofounder Sergey Brin spoke of Page’s Law–defined by his partner Larry Page–which states that software gets twice as slow every eighteen months:
Page’s Law is painfully true. It helps to explain why 2001-era PCs which ran Windows XP just fine are incapable of running Windows XP SP3 well, let alone Windows Vista. Actually, it explains, in part, why so many people feel the need to buy new computers every couple of years. We’re not buying faster machines so we can work faster–we’re buying faster machines to compensate for the speed lot to more bloated, inefficient software.
When I got into computers, circa 1978, many machines had 4KB of RAM (one one-millionth of the capacity of a system today with 4GB). 16KB was considered generous. 48KB was downright sinful. And the TRS-80s we used at school ran at a rip-roaring 1.77-MHz.
Result: Just about anyone who wrote software for any personal computer of the time wrote extremely efficient code–you pretty much didn’t have the option of not being maniacally miserly with bytes and processing cycles. I’ve often thought that if today’s programmers were as diligent as those 1970s hackers, there essentially wouldn’t be such a thing as a slow PC today, or one that ran out of memory.
Among the unexpected benefits of the migration of applications from local machines to the Web is this: Programmers once again have to deal with severely constrained resources. There’s no question that an app like Zoho Writer does Microsoft Word-like things in a more efficient way. I’m also heartened by the fact that the browser wars have lately turned into a speed competition. But I still think we’d get even leaner code if developers pretended they were writing for, say, a Vic-20 with 3.5KB of available RAM and a 1-MHz 6502 CPU.
[…] McCracken in Technologizer says – Page’s Law is painfully true. It helps to explain why 2001-era PCs which ran Windows XP […]
[…] Page’s Law: Why PCs Get Slower, Not Faster […]
May 29th, 2009 at 11:41 am
Page’s Law is indeed true — but it is not Page’s. Nicklaus Wirth can rightly claim this one. Wirth’s Law said, “Software gets slower faster than hardware gets faster.”
May 29th, 2009 at 12:25 pm
You are right that developers don’t care too much about performance nowadays. However, this has the advantage that we are more free to reuse software written by other people, and to employ “slow” techniques such as garbage collection, and dynamic types.
May 30th, 2009 at 5:09 pm
I bought a Vic-20 in 1982 as a 12 year old. I joked to someone the other day that my iMac probably doesn’t have any files on it as small as 3.5k. Feature creep is not just a character in a scary movie. Just because you can put in a feature doesn’t make it useful if it slows your work down.
May 31st, 2009 at 2:10 am
A common fallacy, I’m afraid. The reason software is “slow” is because it does things people need, but could not afford earlier.
July 25th, 2010 at 3:52 pm
This is not a fallacy–it's absolutely true. I am constantly amazed that stupid apps that do almost nothing are 1.5MB. Example: App to scan the hard drive and show folders in order from biggest to smallest, with very basic graphics: 1.4Mb. And that's just the installer package…I dunno if it expands into more than that once installed. WTF?
My 1982 Commodore 64 had a floppy drive that could format a disk on its own without bothering the CPU. Why do I so often have to sit idle, held hostage by an hourglass on the screen, while my PC does something mysterious on the hard drive for 20 seconds? 20 seconds is like 10,000 CPU-years! Yet the OS / apps / I/O drivers can't spare a couple of those bazillion CPU cycles to let me go type some data into my word processor while the hard drive does whatever the hell it's doing? WTF?
My computers were slow in the 80s, but by and large I knew *why* they were slow (loading/saving data, sorting big lists, drawing fancy graphics, etc.). My computers today are often slow, but now I have no idea why. Correction: I do know why–it's because efficiency and optimization are no longer given as much importance. I just don't know why *that* is the case.