
I suspect that to get deeper into this you'll need a debugging build of
GHC, which I believe will break down the desugaring pass into its
constituent sub-passes. One possibility is that the "gentle optimization"
pass is proving not to be so gentle on your code.
On Mon, Feb 15, 2021, 12:03 PM Troels Henriksen
Henning Thielemann
writes: On Mon, 15 Feb 2021, Troels Henriksen wrote:
I have a program with about 220 modules. One of these modules takes _much_ longer to compile than the others (several minutes longer). I don't understand why. It compiled much faster with GHC 8.8.3, but got orders of magnitude slower when I changed to GHC 8.10.2. I don't understand why, since I don't think there is nothing special about the module - e.g. no type-level programming.
Does the problem persist with GHC-8.10.4?
Yes. I'll try with GHC 9.10.1 once my dependencies catch up.
I would try to out-comment parts of the module and watch when compilation becomes faster.
I will try that. I also noticed that other modules are affected as well, although to a lesser degree, and by passing '--ghc-options=-dshow-passes' I obtained this information:
!!! Desugar [Futhark.Pass.ExtractKernels.DistributeNests]: finished in 255448.24 milliseconds, allocated 363811.623 megabytes
So apparently the "desugar" pass takes over four minutes. Apart from lowering Haskell into Core, what exactly does this pass do that is so expensive? The following Simplifier passes take almost no time in comparison.
-- \ Troels /\ Henriksen _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.