Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speed up exhaustiveness checker #1470

Merged
merged 1 commit into from Aug 24, 2016
Merged

Commits on Aug 24, 2016

  1. Speed up exhaustiveness checker.

    Results in 5x faster builds on our app.
    
    Successive patterns on data constructors like tuples can cause the list
    of unhandled patterns to grow exponentially.
    
    This commit de-duplicates entries in the unhandled patterns list. This
    tames the exponential growth considerably.
    
    The proper solution is to create a real union type for nitpicking
    patterns. There’s still quite a bit of speed improvement available.
    
    Build times (app: Sketch-n-Sketch):
    
    Elm 0.16:                                  2:32.4
    Elm 0.16 with this commit:                 0:27.8
    Elm 0.16 with no exhaustiveness checking:  0:11.3
    brianhempel committed Aug 24, 2016
    Copy the full SHA
    a3ef05f View commit details
    Browse the repository at this point in the history