Trying to speedup GHC compile times...Help!

Young, Jeff jeff.young at tweag.io
Fri Jul 2 01:36:20 UTC 2021


Hi ghc devs,

I'm a long-time Haskeller but am just getting into GHC development. I
started a 12 week internship at Tweag I/O under Richard Eisenberg this week
with the singular goal to speedup GHC compile times. I'm specifically
looking to contribute to ghc issues 18541
<https://gitlab.haskell.org/ghc/ghc/-/issues/18541> and 18535
<https://gitlab.haskell.org/ghc/ghc/-/issues/18535>. So I thought I would
reach out to the community to get some direction on
issues/features/problems to tackle in the pursuit of faster compilation
times. This is a full time internship and so I think there is a real
opportunity to nail down a deliverable for the community, but I want to get
some guidance from the experts (you fine people!) before going down a
rabbit hole.

To be specific I'm looking for lingering items such as:
  1. It would be great if we had <thing-here> but no one has time.
  2. Primop foo is half complete but is the right type for
<common-use-case-which-is-currently-just-a-list>.
  3. Swap <some-type> to an array-like type *non-incrementally*, that is,
establish a patch that rips out the previous type and replaces it with the
array-like across the entire compiler, rather than module-by-module.

Point 2 is a specific reference to MR 3571
<https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3571> but I'm unsure
of the status and etiquette around MRs, and I'm unsure exactly how
fulfilling the todos at the end of that MR would aid in faster compilation
times (and if there is evidence to that effect somewhere).

Thanks for the help!

- Jeff
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20210701/c29357e0/attachment.html>


More information about the ghc-devs mailing list