[GHC] #8774: Transitivity of Auto-Specialization
GHC
ghc-devs at haskell.org
Wed Sep 28 06:14:02 UTC 2016
#8774: Transitivity of Auto-Specialization
-------------------------------------+-------------------------------------
Reporter: crockeea | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.6.3
Resolution: | Keywords: Inlining
Operating System: Linux | Architecture:
Type of failure: Compile-time | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: #5928, #8668, | Differential Rev(s):
#8099 |
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by erikd):
Without `SPECIALIZE` it takes about a second on my laptop (month old high
end Dell with SSD). I simply can't image an x86_64 machine could be over
60 times slower.
Ok, so the suspicious code is:
{{{
case (Foo.$fNumQux_$c+
@ GHC.Types.Int
GHC.Num.$fNumInt
Data.Vector.Unboxed.Base.$fUnboxInt
v1_aHk
v2_aHl)
}}}
which is what I get with ghc-7.6.3. I get something very similar with
ghc-7.8.4.
For ghc 7.10.3 and 8.0.1 there is no instance of the string `GHC.Num` in
the output from `Main` (but there is for `Foo` which is expected).
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8774#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list