
#9872: Runing type functions is too slow -------------------------------------+------------------------------------- Reporter: simonpj | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.3 Resolution: | Keywords: Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: | Blocked By: None/Unknown | Related Tickets: Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Changes (by simonpj): * cc: goldfire, cactus, dimitris@… (added) Old description:
Gergo reports, prompted by [http://stackoverflow.com/questions/26538595/more-efficient-type-level- computations-using-type-families this question on Stack Overflow].
I wrote some code today using closed type families and datakinds. Also, as a baseline, I typechecked the code using open type families from the original question.
The two files are attached as slow1.hs and slow2.hs below.
On GHC 7.8.3, typechecking took about 45 seconds for each. However, on a 'perf' build of GHC 7.9 d8c437b3, with ghc-stage2, the first one took 1m3s and the second one 1m12s. A 40% and 60% increase in typechecking time, respectively!
Is this some known regression, something surprising, or is 'perf' simply not the right build flavour for this kind of comparison?
New description: Gergo reports, prompted by [http://stackoverflow.com/questions/26538595 /more-efficient-type-level-computations-using-type-families this question on Stack Overflow]. I wrote some code today using closed type families and datakinds. Also, as a baseline, I typechecked the code using open type families from the original question. The two files are attached as slow1.hs and slow2.hs below. On GHC 7.8.3, typechecking took about 45 seconds for each. However, on a 'perf' build of GHC 7.9 d8c437b3, with ghc-stage2, the first one took 1m3s and the second one 1m12s. A 40% and 60% increase in typechecking time, respectively! Is this some known regression, something surprising, or is 'perf' simply not the right build flavour for this kind of comparison? -- Comment: Very helpful examples. Working on them. Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9872#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler