That number my have be true pre 2000, but with the move to parallel architectures it is grossly wrong. Optimization is not about saving a few cycles here and there. It is about using the whole machine, multiple chips, all with multiple cores. This cores are vector cores (AVX/SSE, altivec, etc). The chips are on different NUMA domains, the cores has pipelines, caches, etc, that has to be exploited... Compilers really don't do to much about this. This is now the job of the programmer. Speedup for codes that can exploit this, at least 20-30x. This adds up to loot of computer time... (add multiple accelerators (GPGPUs, MIC), and you can have 200-300x speedup on one node)
I agree it's not really an argument, but I think the implementation of the Go compilers is evidence towards his point. The compilers were straightforward and didn't use fancy representations or optimizations AFAIK (being based on old Plan 9 compilers).
And with that philosophy, I believe it was within 2-3x of C++ in most benchmarks, despite being in a higher level language (though no doubt it's much slower on some benchmarks).
That said, they continue to optimize the compilers (e.g. https://news.ycombinator.com/item?id=9099744). People obviously do want speed; 2x slower isn't acceptable in many cases.
Re:On the Madness of Optimizing Compilers
by mpweiher on Tuesday March 08, 2016 @04:00AM
(#11244202)
On Proebsting's Law[1].
"The results of our experiment suggest that Proebsting’s Law is probably true. The reality is somewhat grimmer than Proebsting initially supposed."
"Proebsting has suggested that the compiler and programming language research communities should focus less on optimization and more on programmer productivity"
Citation needed. Pulling numbers out of your ass doesn't an argument make.