softdevteam / lrpar

Rust LR parser
Other
1 stars 0 forks source link

Faster ranking #70

Closed ltratt closed 6 years ago

ltratt commented 6 years ago

These are changes that I've been meaning to do for ages: they basically speed the bit after finding repairs up. This is nearly always faster, but small examples are so quick that it's irrelevant either way. However, for nasty examples like:

  class D {
    int x = f(""x""y);
  }

this can make a useful difference. This particular example generates 23,067 repair sequences (really!); on this branch (which admittedly contains other changes) it runs about 15% faster (which is equivalent to about 0.1s in this case i.e. enough to be useful).

Each commit is self contained and probably best reviewed separately.