Proebsting定律:編譯器每18年只將計算能力提升一倍

banq發表於2022-07-10

我聲稱下面這個簡單的實驗支援這個令人沮喪的說法:
用你最喜歡的最先進的最佳化編譯器執行你最喜歡的一組基準測試。在啟用和未啟用最佳化功能的情況下執行這些基準。這些數字的比率代表了編譯器最佳化對加速這些基準測試的全部貢獻。
讓我們假設,對於典型的真實世界的應用,這個比率大約是4倍,讓我們進一步假設,編譯器最佳化工作已經持續了大約36年。
這些假設導致了這樣的結論:編譯器最佳化的進展每18年就會使計算能力翻一番。

這意味著,當硬體計算能力以大約60%/年的速度增長時,編譯器最佳化只貢獻了4%。
基本上,編譯器最佳化工作只做出了微不足道的貢獻

也許這意味著程式語言研究應該集中在最佳化以外的東西上。也許程式設計師的生產力是一個更能樂見成果的領域。

Reddit網友:
所有程式語言在很大程度上都與程式設計師的生產力有關。否則我們只會在彙編中程式設計。最佳化是其中的一部分。編譯器所做的最佳化只是程式設計師不必做的事情。

 

相關文章