Proebsting's Law

James Davis jamesd at jml.net
Tue Dec 13 23:32:19 GMT 2005


Simon Wistow wrote:

> I claim the following simple experiment supports this depressing claim. 

Is this meant to be a troll by Proebsting? I apologise for falling for
it if it is, but I've not seen such a badly written argument for a while :-)

> Run the benchmarks both with and without optimizations enabled. The ratio of of those numbers represents the 
> entirety of the contribution of compiler optimizations to speeding up 
> those benchmarks. 

False, even with optimizations disabled I'm sure that modern compilers
don't suddenly turn into the compiler technology of 35 years ago if only
because languages and target architectures have changed.

> Let's assume that this ratio is about 4X for typical 
> real-world applications

A figure pulled from a hat?

> and let's further assume that compiler 
> optimization work has been going on for about 36 years. 

Again, pulled from a hat?

> These 
> assumptions lead to the conclusion that compiler optimization advances 
> double computing power every 18 years. QED.

Given two figures I've shown no basis for I'm claiming something.

> This means that while hardware computing horsepower increases at roughly 
> 60%/year, compiler optimizations contribute only 4%. Basically, compiler 
> optimization work makes only marginal contributions.

I'll admit this is probably true despite the numbers. Code produced from
a 35 year old compiler run on a modern machine probably runs faster than
the output of a modern compiler on a 35 year old machine.

> Perhaps this means Programming Language Research should be concentrating 
> on something other than optimizations. Perhaps programmer productivity 
> is a more fruitful arena. 

Isn't this is Amdahl's Law (or is at least a corollary to it)?. It does
also ignore some interesting points.

- If your program runs for 101 minutes and you've rented 100 minutes of
time on a shared computing resource 4% optimization is very important to
you.

- You have that 4% optimization available now and it costs you only
compilation time. You might not wish to wait a few months for faster
hardware.

- That computer scientists might like to study programming languages and
compilers for their own sake amongst various other reasons not including
producing faster code. More insight into computer science might be found
in an optimization that produces the tiniest of performance improvement
by a researcher with no interest in programmer productivity.

James


-- 
http://www.freecharity.org.uk/ - Free hosting for charities
http://jamesd.ukgeeks.co.uk/


More information about the london.pm mailing list