-
Notifications
You must be signed in to change notification settings - Fork 20
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
fix: state-machine size explosion on wildcards #188
Comments
Oops, we fixed the DFA/NFA mess, but the state explosion is still an issue. Re-opening. |
timbray
added a commit
that referenced
this issue
Jun 9, 2024
prevent state explosions with epsilon transitions Signed-off-by: Tim Bray <[email protected]>
Merged
timbray
added a commit
that referenced
this issue
Jun 17, 2024
* addresses issue #188 prevent state explosions with epsilon transitions Signed-off-by: Tim Bray <[email protected]> * correct race condition from final optimization Signed-off-by: Tim Bray <[email protected]> * bring performance back up to about 80% of current Signed-off-by: Tim Bray <[email protected]> * update README to remove warnings about memory explosion Signed-off-by: Tim Bray <[email protected]> --------- Signed-off-by: Tim Bray <[email protected]>
Fixed in #314 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Certain combinations of
shellstyle
patterns cause an explosion in the size of the state machine along the lines of O(2**N). The effect is thatAddPattern()
can take seconds to execute and burn memory. We know this is not inevitable because AWS Event Ruler can build this kind of machine quickly and economically.Initial thoughts:
String()
on smallTable and related typeslist_maker
with something much better thought through - it's a hackThe text was updated successfully, but these errors were encountered: