Oz, and others,
Thanks for this data point. Two things:
·
Oz: is there any chance you could boil out a test case that highlights
the regression most starkly? It is sad to know that GHC’s compilation time is increasing, but hard to tackle. A test case, preferably one that doesn’t rely on zillions of other libraries, increases the chances of something getting done by a factor of 10
or 100.
Do make a ticket for it as well. Otherwise it just gets lost.
·
Everyone. It’s really hard to keep focus on keeping GHC’s compilation
time and space down. Everyone is usually focused on bugs and features. It would be incredibly helpful if someone, or a small group, could build a profiled version of GHC 7.8, 7.10, and HEAD, and track down what is happening. Usually there are multiple causes,
but a factor of 7.5 ought not to be hard to nail down.
Please!
Thanks.
Simon
From: ghc-devs [mailto:ghc-devs-bounces@haskell.org]
On Behalf Of Ozgun Ataman
Sent: 05 April 2015 19:01
To: ghc-devs@haskell.org
Subject: Slower Compilation on GHC 7.8.4 (vs. 7.6.3)
Hello,
Apologies upfront for the long post below, but I thought our experience on this particular point might be worth sharing. I present some observations first and then mention the particular problem around "cabal repl" facilitated development workflow. Any ideas/feedback
on the latter point would be much appreciated and please let me know if there are other metrics, info or output I can produce here for further investigation/clarification.
Recently at work, we upgraded a decent size project from GHC 7.6.3 to GHC 7.8.4 and as a result observed a very significant slowdown in compile times. Code changes were very minimal and should not be a factor. Any mistakes below are mine, but I can fairly confidently
say that there is a visible-to-the-eye slowdown in compile times.
We made a few measurements to quantify the issue and here is the data:
The main hurt here has been the infeasibility of using "cabal repl / ghci" fast-feedback style development (via emacs, vim, command-line, etc.), since:
Let me know if I'm missing anything here and any/all feedback is much appreciated!
Cheers,
Oz