Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
optimize reordering of ml-matches to avoid unnecessary computations
This now chooses the optimal SCC set based on the size of lim, which ensures we can assume this algorithm is now << O(n^2) in all reasonable cases, even though the algorithm we are using is O(n + e), where e may require up to n^2 work to compute in the worst case, but should require only about n*min(lim, log(n)) work in the expected average case. This also further pre-optimizes quick work (checking for existing coverage) and delays unnecessary work (computing for *ambig return).
- Loading branch information