Proebsting定律:編譯器每18年只將計算能力提升一倍
我聲稱下面這個簡單的實驗支援這個令人沮喪的說法:
用你最喜歡的最先進的最佳化編譯器執行你最喜歡的一組基準測試。在啟用和未啟用最佳化功能的情況下執行這些基準。這些數字的比率代表了編譯器最佳化對加速這些基準測試的全部貢獻。
讓我們假設,對於典型的真實世界的應用,這個比率大約是4倍,讓我們進一步假設,編譯器最佳化工作已經持續了大約36年。
這些假設導致了這樣的結論:編譯器最佳化的進展每18年就會使計算能力翻一番。
這意味著,當硬體計算能力以大約60%/年的速度增長時,編譯器最佳化只貢獻了4%。
基本上,編譯器最佳化工作只做出了微不足道的貢獻。
也許這意味著程式語言研究應該集中在最佳化以外的東西上。也許程式設計師的生產力是一個更能樂見成果的領域。
Reddit網友:
所有程式語言在很大程度上都與程式設計師的生產力有關。否則我們只會在彙編中程式設計。最佳化是其中的一部分。編譯器所做的最佳化只是程式設計師不必做的事情。
相關文章
- Ruby 將引入新 JIT 編譯器:YJIT,平均速度提升 23%編譯
- 編譯原理——C++版桌面計算器編譯原理C++
- Java動態編譯優化——提升編譯速度(N倍)Java編譯優化
- webpack編譯速度提升之DllPluginWeb編譯Plugin
- 淺談彙編器、編譯器和直譯器編譯
- 什麼是量子計算的內文定律?
- 妙用編輯器:把EverEdit變成計算器
- vue編譯器Vue編譯
- CUDAFORTRAN編譯器編譯
- 編譯原理: FIRST(x) FOLLOW(x) SELECT(x)的計算編譯原理
- Go編譯器簡介【譯】Go編譯
- Ubuntu 19.10將使用GCC 9作為預設編譯器UbuntuGC編譯
- 程式碼線上編譯器(上)- 編輯及編譯編譯
- 計算機儲存器容量和定址能力的關係計算機
- 編譯器的自展和自舉、交叉編譯編譯
- Python編寫一個簡單計算器Python
- JavaScript編寫計算器的發展史JavaScript
- 如何提升伺服器的高併發能力伺服器
- CSS預編譯器CSS編譯
- 用預編譯去理解函式宣告提升和變數宣告提升編譯函式變數
- 將 Rust 程式碼編譯為 WASMRust編譯ASM
- 將Java編譯為原生程式碼Java編譯
- 內建計算機文字編輯器:Soulver Mac計算機Mac
- 機器人的定律機器人
- 格間計算效能提升方案
- 源語言、目標語言、翻譯器、編譯器、直譯器編譯
- 提供流批結合計算能力
- JS----預編譯及變數提升詳解JS編譯變數
- 說說 方舟編譯器編譯
- stylus(css預編譯器)CSS編譯
- ARM 之主流編譯器編譯
- Rust 編譯器入門Rust編譯
- 程式設計師修煉之路 - 設計能力提升途徑程式設計師
- IBM的野心:量子計算機也能實現摩爾定律IBM計算機
- 編譯原理實戰入門:用 JavaScript 寫一個簡單的四則運算編譯器(修訂版)編譯原理JavaScript
- Vue3原始碼分析——編譯模組和編譯器Vue原始碼編譯
- ACL 2018 | TA-NMT:利用大語種語料,提升小語種神經機器翻譯能力
- TeraWulf:預計2025年TeraWulf採礦能力將達到800兆瓦 佔比特幣網路當前計算能力的10%比特幣