
#11443: SPECIALIZE pragma does not work + compilation times regression in GHC 8.0-rc1 -------------------------------------+------------------------------------- Reporter: danilo2 | Owner: bgamari Type: bug | Status: new Priority: highest | Milestone: 8.0.2 Component: Compiler | Version: 8.0.1-rc1 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): Looking at the `verbose-core2core` output from `Test2` it seems quite clear that the specialisation rules are firing as expected: While the `dump-ds` output contains an application of `perfc1' @Int ...` as expected, this is rewritten to `A.$sperfc3 ...` in the first simplifier phase (where `$sperfc3` is indeed the expected `Int`-specialised binding). So, the question is: why are things slowing down despite this? I know that Richard did make some changes in how type families are reduced (see 3f5d1a13f112f34d992f6b74656d64d95a3f506d and 3e1b8824c849d063c7354dbdf63ae2910cf0fdfc). Perhaps the next place to look is the tc-trace output. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11443#comment:15 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler