Example: I recently built a Linux video transcoding machine to reencode H.264 BluRay movies to smaller H.264 files [1]. A $110 AMD FX-8300 is able to reencode an average BluRay movie around 47-50 fps, while you would need to spend more than twice that amount of money to match this performance with Intel (the performance of the FX-8300 at this tasks falls between a $200 Intel i5-4590 and a $250 Xeon E3-1231 v3).
[1] Using: avconv -i input.mkv -threads auto -s hd720 -c:v libx264 -c:a libmp3lame -sn -b:v 1400k -b:a 128k -ac 2 output.mkv
Power is not always the only cost. I work in an industry where you pay per core for software license fees far in excess of the cost of power. There, perf/core is what matters.
I would imagine the same is true for e.g. server response latency when that latency correlates to user experience and thus growth/popularity of your service. People might not notice a few ms, but 100ms vs 300ms is definitely visible.
I think the real value is new things like TSX/HLE.
(And if you say "thin client, distcc, big build farm", then you just need the latest CPUs in the build farm instead.)
Of course this is as much an argument for a real module system in C/C++ as anything else...
(And, I completely agree that TSX and other architectural stuff is totally awesome, too. Perhaps that'll drive adoption more than incremental perf, but I'm just arguing perf is still often really important.)
Through all this time though, I haven't noticed a massive overall performance boost in a long time. If all I wanted to do was browse the web and read email I'd probably still be using my Core 2 Duo MBP from forever ago. The speed boosts have been piecemeal, one generation improves one thing, the next something else. This is different from Ye Olden Days, I can remember upgrading from a 386 to a Pentium II to a Pentium 4 and each upgrade was so dramatic that it completely redefined what I could do with my computer. The last real performance jump I can remember was the Core Duo upgrade that brought real multicore.
I do kinda miss my beloved old SPARCstation though. Makes me wonder what computing looks like in the alternative dimension where SPARC or one of the other architectures had taken over the PC market like Intel ultimately did.
I think the biggest visible change recently though, at least as a software engineer, is the continuously lowering cost, increasing availability of, memory. I can literally store an entire project in memory and not have to worry about any network or disk bottleneck.
For example, my work machine has an i7, 8GB of RAM, and an SSD. I can cap IO and RAM, but I am yet to see the i7 max out, heck even over half the cores. I guess what I am saying is: Is CPU really a bottleneck most people encounter day to day anymore?
Not really. Per core CPUs have become slower and slower. It become about throughput and not raw per op speed a long time ago. Using that measure you'll want to install a Core Duo in your machine.
What you're seeing here is beginning of the end of Moore's Law. Dennard scaling is dead and that will limit performance going forward.
The implications are huge for the computer industry. As Bob Colwell liked to say - imagine if Moore's law ended in the year 2000. We'd never have smartphones.
I would assume he means "non-mobile". I.e. things not ARM.