RE: [GHC] #11160: New exhaustiveness checker breaks ghcirun004

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

RE: [GHC] #11160: New exhaustiveness checker breaks ghcirun004

Simon Peyton Jones

No let’s not revert.  But:

·         Please put a list of the tickets (there are several) on the wiki page (where is the wiki page?)

o   perf/compiler/T783

o   #11163: perf/compiler/T5642

o    

·         Let’s have a flag to skip overlap testing so that there is always a workaround

·         Are you happy to continue to work on these perf issues?

 

Simon

 

From: George Karachalias [mailto:[hidden email]]
Sent: 04 December 2015 09:41
To: Simon Peyton Jones <[hidden email]>
Subject: Re: [GHC] #11160: New exhaustiveness checker breaks ghcirun004

 

Simon,

 

On Fri, Dec 4, 2015 at 10:34 AM, GHC <[hidden email]> wrote:

Comment (by simonpj):

 Very fast response thank you.

 Your commit message is very informative.  Did you include the same
 information in a `Note` in the code, so that we don't lose the information
 here?

 

I haven't yet but I can. Actually, I wanted to ask you something. At the moment
I pass all the normal tests but I fail some performance tests. They do compile but there is a
deviation from the expected and HEAD is broken. For the additional expressive power I expected

some more memory and time. For example, for perf/compiler/T783.hs which has 500 guards in a
single function definition I take ~5 sec to compile but the deviation in allocated bytes is 753%,

compared to what the "expected" is. I feel terrible since we are really close to the freeze and I

think I am stalling everyone. I know of no good way to reduce memory consumption without

losing substantial expressivity. Do you think I shall revert?

 

George

--

things you own end up owning you


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

RE: [GHC] #11160: New exhaustiveness checker breaks ghcirun004

Ben Gamari-3
Simon Peyton Jones <[hidden email]> writes:

> No let’s not revert.  But:
>
> ·         Please put a list of the tickets (there are several) on the wiki page (where is the wiki page?)
>
> o   perf/compiler/T783
>
> o   #11163: perf/compiler/T5642
>
> o
>
> ·         Let’s have a flag to skip overlap testing so that there is always a workaround
>
Indeed, given that there appear to be relatively few (and, moreover, fairly pathological)
programs that send things astray this should be a fine workaround for 8.0. While
you introduce the flag be sure to add a mention in the documentation:

  * Update the note in `docs/user_guide/bugs.rst` to reflect the current
    state of the pattern match check.

  * Add a point to `bugs.rst` to describe the performance issue and the
    workaround. Describe, if you can, some heuristics that users might
    use to determine whether skipping overlap testing might be necessary
    for their program.

  * A note in `docs/user_guide/using-warnings.rst` describing the
    new flag, linking to the description of the performance issue in
    `bugs.rst`
   
  * Add a description of the flag to `utils/mkUserGuidePart/Options/Warnings.hs`

Also, perhaps we could handle future work via the usual Phabricator
route? While we sometimes do deviate from Phabricator for larger patches
like the original exhaustiveness checker merge, typically all other
patches are processed through Phabricator, which offers the advantage
that we can easily see in advance whether things will break.


> From: George Karachalias [mailto:[hidden email]]
> Sent: 04 December 2015 09:41
> To: Simon Peyton Jones <[hidden email]>
> Subject: Re: [GHC] #11160: New exhaustiveness checker breaks ghcirun004
>
> I feel terrible since we are really close to the freeze and I think I am stalling everyone.

Don't fret too much, it happens. Moreover, I deserve a large portion of
the blame as I neglected to mention the existence of our validation
script. Regardless things are pretty much back to normal at this point;
life goes on...

Cheers,

- Ben

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

signature.asc (482 bytes) Download Attachment