
#14766: Hole-y partial type signatures greatly slow down compile times -------------------------------------+------------------------------------- Reporter: harpocrates | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.1 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: | -------------------------------------+------------------------------------- Description changed by harpocrates: Old description:
This time, I actually mean it. :)
Originally reported [https://github.com/simonmar/happy/issues/109 here], I distilled the example from [https://github.com/simonmar/happy/issues/109#issuecomment-362957245 this comment] into a one file test case. `Sigs.hs` is exactly like `NoSigs.hs`, except for the fact that it has a bunch of extra type signatures that have a lot of holes. On my machine, this is what compilation times are (I gave up timing after 15 minutes):
|| GHC version || 8.0.2 || 8.2.1 || 8.4.1 (445554b6d9a2263f969e25bb9f532dd0c3a9dc8c) || || `NoSigs.hs` || 24.13s || 22.93s || 34.05s || || `Sigs.hs` || >15m || >15m || >15m ||
New description: This time, I actually mean it. :) Originally reported [https://github.com/simonmar/happy/issues/109 here], I distilled the example from [https://github.com/simonmar/happy/issues/109#issuecomment-362957245 this comment] into a one file test case. `Sigs.hs` is exactly like `NoSigs.hs`, except for the fact that it has a bunch of extra type signatures that have a lot of holes. On my machine, this is what compilation times are (I gave up timing after 15 minutes): || GHC version || 8.0.2 || 8.2.1 || 8.4.1 (445554b6d9a2263f969e25bb9f532dd0c3a9dc8c) || || `NoSigs.hs` || 24.13s || 22.93s || 34.05s || || `Sigs.hs` || >15m || ~13m || >15m || -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14766#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler