
#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