[HN Gopher] On Proebsting's Law
       ___________________________________________________________________
        
       On Proebsting's Law
        
       Author : ingve
       Score  : 16 points
       Date   : 2022-01-08 20:06 UTC (2 hours ago)
        
 (HTM) web link (zeux.io)
 (TXT) w3m dump (zeux.io)
        
       | troutmskreplica wrote:
       | This "law" was never really reasonable or sensible.
       | 
       | I've been working on optimizing compiler backends for nearly 30
       | years. The reality is that you hit a wall of diminishing returns
       | pretty quickly, within say 5-20 person-years of effort (so a
       | small team working for say 3-5 years).
       | 
       | You also relatively quickly get to the point where heuristics
       | matter very much and all you do is generate new S-curves as you
       | make changes. Meaning that every change speeds some workloads up,
       | and slows others down.
       | 
       | Disciplined compiler writers will follow the old adage that an
       | optimization needs to pay for itself, meaning that you don't add
       | things that slow down compilation without improving that S-curve
       | by a relatively comparable amount.
       | 
       | What we get with LLVM is a large number of people tossing in the
       | things that help the handful of workloads they are currently
       | working on, with limited oversight regarding how that's impacting
       | compile-time for everyone else. So the compiler gets slower and
       | slower, the compiled code doesn't get much faster, and overall
       | the compiler grows and grows in complexity.
       | 
       | This is why I'm personally a lot more excited about working on
       | small manageable compiler code bases rather than large monolithic
       | ones that try to be everything to everyone.
        
       | karmakaze wrote:
       | The 'benchmarks' would be more interesting if it was performed on
       | a larger more complex codebase. In particular, I'm curious how
       | much the link-time-optimizations that we have today fare against
       | earlier toolchains that don't have this. Basically, I want to
       | interpret "Compiler Advances" as more than version number.
        
       | dang wrote:
       | One past thread from long ago:
       | 
       |  _Proebsting 's Law: Compiler Advances Double Computing Power
       | Every 18 Years_ - https://news.ycombinator.com/item?id=317213 -
       | Sept 2008 (15 comments)
        
       ___________________________________________________________________
       (page generated 2022-01-08 23:00 UTC)