
#9630: compile-time performance regression (probably due to Generics) -------------------------------------+------------------------------------- Reporter: hvr | Owner: dfeuer Type: bug | Status: new Priority: high | Milestone: 8.2.1 Component: Compiler | Version: 7.9 Resolution: | Keywords: deriving- | perf, Generics Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: #9583, #10293, | Differential Rev(s): #13059, #10818 | Wiki Page: | -------------------------------------+------------------------------------- Comment (by dfeuer): Commit 2b74bd9d8b4c6b20f3e8d9ada12e7db645cc3c19 (Stop the specialiser generating loopy code) had a big positive impact here. My test case (as yet unpublished) compiles over twice as quickly. Edward's (when the specialization is cross-module) compiles something like one and a half times as quickly, and the unused method no longer hurts it (in fact it helps it slightly; perhaps the single-method class optimization burns a little time). So it looks pretty likely that this bug is squashed. I'll try to check a few more things before adding a test case and calling it done. I suspect it's still worth looking into the doubled constraint solving that came up in comment:55, but perhaps that should be a separate (lower priority) ticket. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9630#comment:61 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler