Tracking GHC Performance

Tracking GHC Performance

Presented at "HIW 2017 Haskell Implementors' Workshop":

A recurring topic of concern among users of GHC is GHC’s correctness and performance, both regarding compilation time and runtime of the generated code, including how GHC’s performance evolves across GHC releases. That concern is aggravated by the long release cycle and the small footprint of libraries in CI builds. As a datapoint that lends credibility to this concern, consider that, although an explicit goal for GHC 8.2 is to improve compilation times, there is evidence that compilation times (for a release candidate) degraded for some packages. Moreover, in the past, releases have often been delayed due to regressions found late in the release cycle.

In this talk, we will analyse the current situation and propose a scheme that enables the (a) continuous monitoring of GHC correctness and performance on (b) a wider range of packages. As our scheme is based on Stackage package sets, we will also argue that widening the range of packages under CI will accelerate the adoption of new GHC releases by the wider community. In particular, we detail our own plans to work towards an implementation of the proposed scheme.


Manuel Chakravarty

September 11, 2017