-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Regex Automata #185
Comments
This regex thread is also relevant. In particular:
and
This last one is especially limiting, since often you're just searching for a literal. I think we need to give it a shot, but benchmark the performance hit. An optimization: we need to compile 4 DFAs, two for each search direction. But |
I don't think using What do you guys think about using a fork of the regex crate to finally resolve this issue? In the future I might be able to optimize this further by actually handling chunk boundaries in the engines itself but that would be much much more effort. This would require some effort (although I think it would be pretty interesting project) so I wouldn't want to work on something like that if we don't feel comfortable using a fork of the regex crate (I would publish to crates.io of-course). Would you be ok with such a fork and if I assign this issue to myself @archseer? |
Sorry, I'm a little lost, is there a problem with regex? Does it use a lot of memory? |
The problem is that regex can only operate on contiguous memory strings while ropey is segmented into chunks. Currently anytime we use regex we have to convert the entire rope to a contiguous |
Ohh, interesting, thanks for the explanation |
Is this issue still up to date since |
Nucleo is only a fuzzy matcher and has nothing g to fo either regex search. I am going to assign this to myself since I have been working on a streaming regex engine for a while |
A link explaining the |
In the future, we should switch to something like Alacritty's regex functionality so we don't waste memory in our current implementation.
The text was updated successfully, but these errors were encountered: