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

Remove expensive !stabOperatorPrefix #943

Merged
merged 13 commits into from
Dec 5, 2017
Merged

Remove expensive !stabOperatorPrefix #943

merged 13 commits into from
Dec 5, 2017

Commits on Dec 4, 2017

  1. Regression test for #580

    Look at the execution test variance for Fn1 vs Fn8.
    KronicDeth committed Dec 4, 2017
    Configuration menu
    Copy the full SHA
    1c8a64e View commit details
    Browse the repository at this point in the history
  2. Only allow no argument stab operations by themselves

    Move `stabInfixOperator` out of `stabOperationPrefix` because no
    argument patterns can only appear first and once in a given stab.  This
    cuts the Fn8 time from 26 seconds to 13 seconds.
    KronicDeth committed Dec 4, 2017
    Configuration menu
    Copy the full SHA
    50a2550 View commit details
    Browse the repository at this point in the history
  3. {EOL}|. -> {ANY}

    KronicDeth committed Dec 4, 2017
    Configuration menu
    Copy the full SHA
    33e9ec8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e6e8b92 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cbd4f80 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    90dd8b0 View commit details
    Browse the repository at this point in the history
  7. EOL after block identifiers count as WHITE_SPACE

    * after
    * catch
    * else
    * rescue
    KronicDeth committed Dec 4, 2017
    Configuration menu
    Copy the full SHA
    72ad38a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3ce2159 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2017

  1. Configuration menu
    Copy the full SHA
    cf6d216 View commit details
    Browse the repository at this point in the history
  2. EOL before end counts as WHITE_SPACE

    Additionally, only last EOL before counts as EOL.  All others are
    WHITE_SPACE.
    KronicDeth committed Dec 5, 2017
    Configuration menu
    Copy the full SHA
    c6c89ab View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d6c2cdf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    572a18f View commit details
    Browse the repository at this point in the history
  5. Remove expensive !stabOperatorPrefix

    Remove `!stabOperationPrefix` before `expression`, since
    `stabOperationPrefix` itself starts with `expression` and instead put a
    negative look-ahead, `!(infixComma | stabInfixOperator)` after
    `expression`.  This now works when it previously didn't because `COMMA`
    was added to `expressionRecoverUntil`, which means both `COMMA` and
    `STAB_OPERATOR` are now in both not eaten by `expression`'s error
    recovery.
    
    This drops Fn1 through Fn8 to ~176ms instead of the previous time of the
    last optimization of 13 seconds for Fn8.  It started at 26 seconds and
    now it appears that the time no longer grows with the number of Fn.
    KronicDeth committed Dec 5, 2017
    Configuration menu
    Copy the full SHA
    f5b45f7 View commit details
    Browse the repository at this point in the history