Looking for GHC compile-time performance tests
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 issues. 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! Cheers, - Ben signature.asc Description: PGP signature ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Re: Looking for GHC compile-time performance tests
Ben Gamari wrote: > 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. The vector package is probably a good candidate. Compling vector slowed down signicantly between 7.8 and 7.10, only to speed up again with 8.0. Erik -- -- Erik de Castro Lopo http://www.mega-nerd.com/ ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Re: Looking for GHC compile-time performance tests
vector-algorithms has gotten slower to both compile and for users rather consistently during each release throughout the 7.x lifecycle. That may serve as a good torture test as well. > On May 6, 2016, at 6:22 AM, Erik de Castro Lopo wrote: > > Ben Gamari wrote: > >> 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. > > The vector package is probably a good candidate. Compling vector slowed > down signicantly between 7.8 and 7.10, only to speed up again with 8.0. > > Erik > -- > -- > Erik de Castro Lopo > http://www.mega-nerd.com/ > ___ > Glasgow-haskell-users mailing list > Glasgow-haskell-users@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Re: Looking for GHC compile-time performance tests
containers compile times have generally gotten slower from version to version. On Thu, May 5, 2016 at 4:22 PM, Erik de Castro Lopo wrote: > Ben Gamari wrote: > >> 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. > > The vector package is probably a good candidate. Compling vector slowed > down signicantly between 7.8 and 7.10, only to speed up again with 8.0. > > Erik > -- > -- > Erik de Castro Lopo > http://www.mega-nerd.com/ > ___ > Glasgow-haskell-users mailing list > Glasgow-haskell-users@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
RE: Looking for GHC compile-time performance tests
Thanks. A repeatable test case would be incredibly helpful here. Simon | -Original Message- | From: Glasgow-haskell-users [mailto:glasgow-haskell-users- | boun...@haskell.org] On Behalf Of Edward Kmett | Sent: 05 May 2016 21:50 | To: Erik de Castro Lopo | Cc: glasgow-haskell-users@haskell.org | Subject: Re: Looking for GHC compile-time performance tests | | vector-algorithms has gotten slower to both compile and for users rather | consistently during each release throughout the 7.x lifecycle. That may serve | as a good torture test as well. | | > On May 6, 2016, at 6:22 AM, Erik de Castro Lopo | wrote: | > | > Ben Gamari wrote: | > | >> 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. | > | > The vector package is probably a good candidate. Compling vector slowed | > down signicantly between 7.8 and 7.10, only to speed up again with 8.0. | > | > Erik | > -- | > -- | > Erik de Castro Lopo | > https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fwww.mega- | nerd.com%2f&data=01%7c01%7csimonpj%40064d.mgd.microsoft.com%7c502efb8a671d48e | 03c2408d37526cd98%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=NO6ktHARs7KWr% | 2fFR9DJB3rAum%2bLblzbVFc5AeBi8Smg%3d | > ___ | > Glasgow-haskell-users mailing list | > Glasgow-haskell-users@haskell.org | > | https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fmail.haskell. | org%2fcgi-bin%2fmailman%2flistinfo%2fglasgow-haskell- | users&data=01%7c01%7csimonpj%40064d.mgd.microsoft.com%7c502efb8a671d48e03c240 | 8d37526cd98%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=f%2bspd5cb57tq15z4vF | TrUe2RPC2SXY6SAu9MPW8fYfw%3d | ___ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fmail.haskell. | org%2fcgi-bin%2fmailman%2flistinfo%2fglasgow-haskell- | users&data=01%7c01%7csimonpj%40064d.mgd.microsoft.com%7c502efb8a671d48e03c240 | 8d37526cd98%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=f%2bspd5cb57tq15z4vF | TrUe2RPC2SXY6SAu9MPW8fYfw%3d ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Re: Looking for GHC compile-time performance tests
It also helped that the test suite got added back to the main cabal. And the test suite took a WHILE, due to some sort of coercion seize blowup that I think was fixed in 8,0. But yes. Definitely vector build times decayed. Partly due to the shift to the general bundle rep, and partly due to ... Ghc builds getting slower On Thursday, May 5, 2016, Erik de Castro Lopo wrote: > Ben Gamari wrote: > > > 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. > > The vector package is probably a good candidate. Compling vector slowed > down signicantly between 7.8 and 7.10, only to speed up again with 8.0. > > Erik > -- > -- > Erik de Castro Lopo > http://www.mega-nerd.com/ > ___ > Glasgow-haskell-users mailing list > Glasgow-haskell-users@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users > ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Re: Looking for GHC compile-time performance tests
On Thu, May 5, 2016 at 5:52 AM, Ben Gamari wrote: > > 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. Please see https://ghc.haskell.org/trac/ghc/ticket/12028 for an example with no dependencies beyond commons (ex. bytestring). There is a 6x performance regression or 4x if you're willing to delete UNPACK pragmas. ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Re: Looking for GHC compile-time performance tests
Similarly, please see https://ghc.haskell.org/trac/ghc/ticket/12032 for a regression when using many top-level cases in equational style. I haven't looked at core, it's possible this issue is the same as ticket 12028. Also please note I am _not_ on the -dev list at present so that list is not getting my responses to this thread. -Thomas On Fri, May 6, 2016 at 8:45 PM, Thomas DuBuisson wrote: > On Thu, May 5, 2016 at 5:52 AM, Ben Gamari wrote: >> >> 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. > > > Please see https://ghc.haskell.org/trac/ghc/ticket/12028 for an > example with no dependencies beyond commons (ex. bytestring). There > is a 6x performance regression or 4x if you're willing to delete > UNPACK pragmas. ___ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users