Software vs. Hardware
[Feb 23, 2008; Nerd]
During the last weeks I barely had a working computer. My main machine slowly died on me during the last two years by crashing more and more often, until it would produce kernel panics whenever there was some load. Until recently I refused to buy a new computer because of a rule I always adhered to in the past: The new machine has to be at least twice as fast as the old one. But there seemed to be no such machine for four years now.
Yes, the benchmarks say that such devices exist, but only by means of multiple cores. Multiplying the computing power by two just because there are two cores seems like math for marketeers, but nothing that will happen with current software. Clock frequency has only gone up 50% in the last four years. It appears hardware engineers have given up on fighting with quantum mechanics for higher frequencies and instead resorted to copy&pasting cores into their designs. It certainly sounds a lot easier.
Anyhow, now I was forced to buy a new computer, and of course couldn't resist to do a little testing on my own. I went for encoding DVD images as mp4 using mencoder with lavc and the same single pass high quality settings in all tests: (The price for both CPUs was about the same at the time of purchase.)
- Old machine (4 years old) - 50pfs
- New machine, single threaded - 80fps
- New machine, multi threaded - 105pfs
- New machine, single threaded, two videos parallel - 150pfs
A single core is 60% faster, defining the worst case speed up of the new machine. Enabling multi-threading in the codec improved performance over the old system by 110%. On one side this is good news, because I was hoping for a 100% gain when ordering the computer. On the other side its sad when compared to the full CPU potential shown when encoding two videos in parallel in which case it is 200% faster than the old machine. There is quite some room for improvement in the codec. Before testing I was afraid the memory interface would be the bottleneck, but the software is the weak link here.
Its funny how times change: After many years during which clever hardware engineers compensated for all the crappy software by creating better and faster hardware designs, they now need the help of the software people to make their hardware run faster.
While CPU development has slowed down, at least the fan size still doubles every two years. See the pictures on the right.