Why Aren't PCs Faster?
a little ludwig goes a long way: Partitioning of processing power. Great thoughts as usual by John. Main question is, why when we’ve moved from 300 MHz to 3 GHz processors, standard Windows and Office applications aren’t 10x faster at all. But, with video games, we are seeing incredible advances.
Maybe it has to do with partitioning of problems as John says. Personally, I think it has quite a bit to do with the fact that most Windows code is pretty much a gigantic spin lock. Have you noticed how little Office uses of the CPU, but is still pretty slow. I tried this on my Dad’s brand new 2.8GHz hyperthreaded, 1GB processor. Office never burns more than 10% of the machine. Hmmm.
Fact is that most applications don’t come close to saturating the CPU anymore. The only one that I’ve found that does are the MP3 encoders and the DiVX encoders. You can see real gains there with every CPU churn. I encoded a 2 hour DiVX with a 450 MHz Pentium 4 and it took literally a day. With my current 2.4GHz machine, it is a few hours. It is amazing to me for example that MPEG2 video decoding on my current fast machine takes about 10% of the CPU typically and doesn’t stutter at all while I’m typing in Word. (Now this is a 512MB machine so there is plenty of working set).
Other point is that memory is really a huge bottleneck now, so apparent speed is much less. This 2.4GHz machine I’m running is 19x faster than it’s memory. That’s amazing. Results in incredible long pipelines and big fetch penalties if my computer architecture 101 of the early 1980s is still accurate. Branch penalties must be amazing too.
So, maybe the problem isn’t the general purpose nature, but a combination of the fact that memory is very slow now and the typical applications don’t need much computing power really. So, maybe Intel is right, on to new applications.