[GHC] #10800: vector-0.11 compile time increased substantially with 7.10.1

GHC ghc-devs at haskell.org
Sun Feb 14 23:41:57 UTC 2016


#10800: vector-0.11 compile time increased substantially with 7.10.1
-------------------------------------+-------------------------------------
        Reporter:  bgamari           |                Owner:  bgamari
            Type:  bug               |               Status:  new
        Priority:  highest           |            Milestone:  8.0.1
       Component:  Compiler          |              Version:  7.10.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 I have noticed that there is a qualitative difference in the verbose-
 core2core output between 7.8.4 and 7.10.3: namely 7.8 lacks an initial
 gentle simplifier pass. In the case of 7.10.3 the compiler inlines
 `Data.Vector.Generic.zip` in the `SimplMode {Phase = 2 [main], inline,
 rules, eta-expand, case-of-case}` pass, producing a significant amount of
 unresolved `stream`/`unstream` pairs relatively early in simplification.
 The last appearance of `unstream` doesn't disappear until `SimplMode
 {Phase = 0 [main], inline, rules, eta-expand, case-of-case}`.


 By contrast, 7.8.4 doesn't perform this inlining until much later (right
 before the second FloatOut; it's a bit hard to tell precisely since
 `verbose-core2core` doesn't output simplifier passes). As far as I can
 tell, it manages to collapse all of the stream fusion apparatus in a
 single simplifier pass.

 I believe this may be the reason for the difference.

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


More information about the ghc-tickets mailing list