Awww shucks! and there was I thinking that we had finally solved the problem of perpetual motion
I think that is the key issue, and it has been around in one shape or another for quite a long time.we see another phenomenon: coding practice not keeping up with hardware creation. Programmers simply cannot harness multiple CPUs well at present (as an observation of general practices on the average.)
I recall back in the days of the first P4 (single core) processors. I had acquired a dual processor PIII machine from Design Engineering. My colleague was surprised that I had this rather than the (then) new P4/1.5Ghz machine that he had. Actually I think that he was jealous that mine came with a 21" Sony monitor and a professional graphics card
He commented that although my two processors added up to more than his single processor, I would not see any advantage as the software wasn't written to take advantage of twin processors.
There were two basic flaws in this argument:
1. The design software that I was supporting was intended to take advantage of twin processors, even though the standard office and development applications that we used were not.
2. There is a difference between a PIII Xeon and a P4 of that era (like the 1Mb cache?)
I feel that backwards compatibility still takes precedent in a lot of applications development?