“On Proebsting’s Law”, 2001-03-01 (; backlinks; similar):
In 1965 Gordon Moore observed that the capacity of semiconductor ICs doubled every 18 to 24 months. This trend, now known as Moore’s Law, has held for over 25 years and is responsible for the exponential increase in microprocessor performance over this period.
In 1998 Todd Proebsting made a similar-in-spirit, but altogether less optimistic observation about optimizing compilers. His observation, henceforth known as Proebsting’s Law, is that improvements to compiler technology double the performance of typical programs every 18 years.
Proebsting has suggested an experiment to evaluate the veracity of his observation. This paper presents the results of this experiment and some comments on what Proebsting’s Law portends for compiler research.
…We chose to use SPECint95 and SPECfp95 as the benchmarks for the experiments conducted for this paper.
…The compiler technology developed over this 45-year period is able to improve the performance of integer intensive programs by 3.3×. This corresponds to uniform performance improvements of about 2.8% per year. Even if we assume that the beginning of useful compiler optimization research began in the mid 1960’s5, the uniform performance improvement on integer intensive codes due to compiler optimization is still only 3.6% per year. This lies in stark contrast to the 60% per year performance improvements we can expect from hardware due to Moore’s Law.
The performance difference between optimized and unoptimized programs is larger for the floating-point intensive codes in SPECfp95. This indicates that compiler research has had a larger effect on improving the performance of scientific codes than on improving the performance of ordinary, integer intensive applications. Again, if we assume compiler research has been ongoing since 1955, we get a doubling of performance every 16 years. This corresponds to uniform performance improvements of about 4.9% per year over this 45 year period. This is only slightly better than the results for integer intensive programs.
View PDF: