Performance of pattern checker on OptCoercions

Ben Gamari ben at well-typed.com
Fri Dec 11 10:58:05 UTC 2015


Hi George,

Richard has encountered a bit of a performance cliff when merging his
no-kinds work. In particular OptCoercions now results in multiple
gigabytes of memory consumption during compilation due to the pattern
checker. The problem seems to be the opt_trans_rule binding, which has
numerous equations, each of which has patterns of various complexities
and guards. Might this be another case where disabling the pattern
checker is unavoidable?

I've attached a testcase to the ticket (#11195) which depends only on
the `ghc` library built from Richard's nokinds-dev branch. If it would
help I could make it a fully free-standing testcase. It's not time
critical as we have just disabled the pattern checker for the time
being, but it would be nice to know whether you have any insight into
what is happening here.

Cheers,

- 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/20151211/f4c527e9/attachment.sig>


More information about the ghc-devs mailing list