Skip to content
  • Simon Peyton Jones's avatar
    The Early Inline Patch · 2effe18a
    Simon Peyton Jones authored and David Feuer's avatar David Feuer committed
    This very small patch switches on sm_inline even in the InitialPhase
    (aka "gentle" phase).   There is no reason not to... and the results
    are astonishing.
    
    I think the peformance of GHC itself improves by about 5%; and some
    programs get much smaller, quicker.  Result: across the board
    irmprovements in
    compile time performance.  Here are the changes in perf/compiler;
    the numbers are decreases in compiler bytes-allocated:
    
      3%   T5837
      7%   parsing001
      9%   T12234
      35%  T9020
      9%   T3064
      13%  T9961
      20%  T13056
      5%   T9872d
      5%   T9872c
      5%   T9872b
      7%   T9872a
      5%   T783
      35%  T12227
      20%  T1969
    
    Plus in perf/should_run
    
      5%   lazy-bs-alloc
    
    It wasn't as easy as it sounds: I did a raft of preparatory work in
    earlier patches.  But it's great!
    
    Reviewers: austin, bgamari
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D3203
    2effe18a