Thanks Gael.
As you may know, we’ve focused a lot on compile time in the last year or so, and 8.4 is a lot faster. I think there are still plenty of bad cases, but things are better.
Our compile-time perf page is here:
https://ghc.haskell.org/trac/ghc/wiki/Performance/Compiler
It links to a list of open perf tickets:
https://ghc.haskell.org/trac/ghc/query?status=!closed&failure=Compile-time+performance+bug
What helps above all are reproducible test cases. Package X compiles much more slowly with 8.2 than with 7.10, say. You did exactly that, thank you – can you open a ticket explaining exactly
how to reproduce it, and what measurements you took. (Matthew’s numbers seemed two orders of magnitude different; I wonder why?)
Another thing that is really helpful is people who characterise what the problem is:
Everyone: GHC is your compiler! We need your help.
Simon
From: ghc-devs [mailto:ghc-devs-bounces@haskell.org]
On Behalf Of Deest, Gaël
Sent: 04 July 2017 08:17
To: ghc-devs@haskell.org
Cc: Manuel Chakravarty <manuel.chakravarty@tweag.io>
Subject: Compilation time
Hi all,
As you are probably well aware, GHC performance has been a growing concern over the last few years. Many Haskell programmers complain that build time has significantly increased over the last few releases. However, to our knowledge,
there isn't much data available to substantiate this claim and the severity of these problems is not well known.
That's why we would like to bring some anecdotal evidence to your attention that seems to indicate really major performance regressions. We stumbled upon the CI of the data-reify package, which is built against all GHC releases
since 2010 :
https://travis-ci.org/ku-fpg/data-reify
tl;dr: Build time has gone from 1 min 32s for GHC 7.0 to 4 min 35s for GHC 8.2. The 8.2 release alone seems to have increased compilation time by almost 2 minutes, with the current development branch bringing only minor performance
improvements.
Of course, this single data point is not sufficient to establish how severe and widespread these problems are. More data could probably be gathered from other packages. However, it certainly matches our (subjective) experience
and we felt important to report it to you.
Regards,
--
Gaël Deest
Tweag I/O