Skip to content

Compile time regression with StrictData on GHC 8.10.2

Summary

Getting large compile times and memory consumption when using in StrictData compared to GHC 8.8.3.

In the larger project the example comes from I can get beyond it with -fsimplifier-passes=1 but -fno-spec-constr doesn't appear to have an effect as in other vaguely similar sounding issues.

Steps to reproduce

Attached file cabal and source code.

blowup.cabal Blowup.hs

> time cabal v2-build -w ghc-8.10.2
...
real    0m37.562s

The issue is still present if I define f (commented out code) in the Semigroup definition explicitly rather than using coerce but not as bad:

> time cabal v2-build -w ghc-8.10.2
...
real    0m10.887s

Expected behavior

> time cabal v2-build -w ghc-8.8.3
...
real    0m2.382s

Environment

  • GHC version used: 8.10.2

Optional:

  • Operating System: Linux
  • System Architecture: x86_64
Edited by dbeacham
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information