Looking for GHC compile-time performance tests

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Looking for GHC compile-time performance tests

Ben Gamari-3
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

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users

signature.asc (482 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Looking for GHC compile-time performance tests

Erik de Castro Lopo-34
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
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: Looking for GHC compile-time performance tests

Edward Kmett-2
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 <[hidden email]> 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
> [hidden email]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: Looking for GHC compile-time performance tests

David Feuer
In reply to this post by Erik de Castro Lopo-34
containers compile times have generally gotten slower from version to version.

On Thu, May 5, 2016 at 4:22 PM, Erik de Castro Lopo
<[hidden email]> 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
> [hidden email]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

RE: Looking for GHC compile-time performance tests

Simon Peyton Jones
In reply to this post by Edward Kmett-2
Thanks.  A repeatable test case would be incredibly helpful here.

Simon

| -----Original Message-----
| From: Glasgow-haskell-users [mailto:glasgow-haskell-users-
| [hidden email]] On Behalf Of Edward Kmett
| Sent: 05 May 2016 21:50
| To: Erik de Castro Lopo <[hidden email]>
| Cc: [hidden email]
| 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 <[hidden email]>
| 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
| > [hidden email]
| >
| 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
| [hidden email]
| 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
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: Looking for GHC compile-time performance tests

Carter Schonwald
In reply to this post by Erik de Castro Lopo-34
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 <[hidden email]> 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
<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;Glasgow-haskell-users@haskell.org&#39;)">Glasgow-haskell-users@...
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: Looking for GHC compile-time performance tests

Thomas DuBuisson
In reply to this post by Ben Gamari-3
On Thu, May 5, 2016 at 5:52 AM, Ben Gamari <[hidden email]> 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
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: Looking for GHC compile-time performance tests

Thomas DuBuisson
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
<[hidden email]> wrote:

> On Thu, May 5, 2016 at 5:52 AM, Ben Gamari <[hidden email]> 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
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users