[GHC] #10844: CallStack should not be inlined

GHC ghc-devs at haskell.org
Fri Oct 16 04:18:21 UTC 2015


#10844: CallStack should not be inlined
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:  gridaphobe
            Type:  task              |               Status:  patch
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.10.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D1259
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by gridaphobe):

 Thanks, that makes sense.

 After adding the `cheapBuild` patch (only for string literals) I'm finally
 seeing a nice win on binary sizes. Unfortunately it comes at the cost of
 runtime performance, which seems like the wrong tradeoff; I'd rather have
 larger binaries if they run faster.

 Here's a selection of the more interesting summary results from nofib. I
 haven't had a chance to investigate where the performance loss is coming
 from.

 {{{
 NoFib Results

 --------------------------------------------------------------------------------
         Program           Size    Allocs   Runtime   Elapsed  TotalMem
 --------------------------------------------------------------------------------
            atom          -1.0%      0.0%     +0.9%     +1.6%      0.0%
    binary-trees          -0.9%     -0.0%     +9.4%     +9.2%      0.0%
            bspt          -1.0%     -0.3%     0.004     0.013    -33.3%
       cacheprof          -1.9%     +2.0%     -1.3%     -1.8%     +0.9%
         circsim          -1.0%     +0.0%     +4.9%     +5.1%      0.0%
     constraints          -1.0%      0.0%     +0.9%     +1.1%      0.0%
    cryptarithm1          -1.0%      0.0%     +6.5%     +7.7%      0.0%
             cse          -1.0%     +1.4%     0.000     0.008      0.0%
  fannkuch-redux          -1.0%      0.0%     +3.0%     +3.1%      0.0%
        fibheaps         +12.2%     -0.0%     0.017     0.025      0.0%
            fish          -1.0%     +3.1%     0.006     0.014      0.0%
          hidden          -1.0%     +0.0%     +1.5%     +1.7%      0.0%
         integer          -1.0%      0.0%     +1.7%     +2.0%      0.0%
    k-nucleotide          -0.9%     -0.0%     +2.7%     +2.9%      0.0%
            lcss          -1.0%      0.0%     -0.9%     -2.1%      0.0%
           power          -0.9%     +0.0%     -4.1%     -3.7%      0.0%
             scs          -0.7%     +0.1%     +1.3%     +0.8%      0.0%
 --------------------------------------------------------------------------------
             Min          -1.9%     -2.0%     -4.1%     -3.7%    -33.3%
             Max         +12.2%     +3.5%     +9.4%     +9.2%     +0.9%
  Geometric Mean          -0.9%     +0.1%     +1.4%     +1.4%     -0.4%
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10844#comment:17>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list