[GHC] #11731: Simplifier: Inlining trivial let can lose sharing

GHC ghc-devs at haskell.org
Fri Apr 1 16:05:39 UTC 2016


#11731: Simplifier: Inlining trivial let can lose sharing
-------------------------------------+-------------------------------------
        Reporter:  nomeata           |                Owner:
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.1
      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:D2073
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 Wow, that's quite remarkable.  I ''hope'' that the ticky numbers will show
 why cichelli and mandel2 are improving .  Since this is from the "final
 run" thing, it must presumably be from increasing the number of single
 entry thunks we find, right?  And that should show up in the ticky numbers
 you gather.

 It's curious that other compiler benchmarks don't also worsen.  Maybe you
 are right, but I rather doubt that 5% of compile time is the cost of
 single run of the demand analyser, unless it's a very pathological program
 with deeply nested letrecs.

 Again, it'd be good to try this with a ''stage1'' compiler to isolate the
 effects. But we'd expect this to speed up a stage2 compiler, so the effect
 would be more pronounced with stage1.  In HEAD Ben has added a bit more
 time-tracking to passes which may help.

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


More information about the ghc-tickets mailing list