Looking for GHC compile-time performance tests

Ben Gamari ben at well-typed.com
Thu May 5 12:52:45 UTC 2016

tl;dr. Do you have a Haskell project which GHC now compiles more slowly
       than in the past? If you would like to see your program's
       compilation time improve in 8.2, reduce it to a minimal testcase,
       and provide it to us via Trac.

Good news everyone,

GHC 8.2 will be a release largely targetting consolidation instead of
new features. In particular, we will focus on compiler performance

One of the challenges of this task is knowing in which ways GHC has
regressed. It is currently hard to know how much of the apparent
compiler performance regression is due to GHC getting slower and how
much is due to users demanding more of it.

To better understand the performance of our compiler, we would like to
collect modern Haskell code samples that exhibit compile-time
performance issues (either regressions or otherwise).

For this we are asking for your help: we are looking for projects that,

 * are small-to-moderate-sized Haskell programs which you believe have
   regressed in compile time in the last few GHC releases

 * have minimal build dependencies, in the ideal case none outside of
   the standard GHC boot libraries

 * can be licensed for use under 3-clause BSD

In some cases we may also be able to make use of examples with a few
library dependencies that are necessary to demonstrate the performance
issue (for instance, a suspected issue stemming from stream fusion
requiring Conduit).

For performance issues exhibiting non-linear scaling in some quantity
(e.g. the size of a type in the program), it would be extremely helpful
if the testcase exposed a "knob" demonstrating this scaling.

So, if you would like to see your program's compilation time improve
in GHC 8.2, put some time into reducing it to something minimal, submit
it to us via a Trac ticket, and let us know in this thread.

Thanks for your help!


- Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20160505/24a17d65/attachment.sig>

More information about the ghc-devs mailing list