[GHC] #9872: Runing type functions is too slow

GHC ghc-devs at haskell.org
Mon Dec 8 11:47:51 UTC 2014


#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


More information about the ghc-tickets mailing list