Fast(er) regular expression engines in Ruby(serpapi.com)
serpapi.com
Fast(er) regular expression engines in Ruby
https://serpapi.com/blog/faster-regular-expression-engines-in-ruby/
4 comments
The nuance is specifically relevant here because neither of the other two regex engines benchmarked have this requirement. It's doubly relevant because that means running a regex search doesn't require a UTF-8 validation step, and is therefore likely beneficial from a perf perspective, dependening on the workload.
That’s a good point. I hadn’t considered it because I’ve hit the validation error long before getting to search. It is possible to avoid string operations with careful coding prior to the search.
Edit: After a little testing, the strings can be read from and written to files without triggering validation. Presumably this applies to sockets as well.
Edit: After a little testing, the strings can be read from and written to files without triggering validation. Presumably this applies to sockets as well.
I wonder how std.regex of dlang would fare in such test. Sadly due to a tiny bit of D’s GC use it’s hard to provide as a library for other languages. If there is an interest I might take it through the tests.
Eww, pretending to support utf8 matchers while not supporting them at all was not pretty to see.
Honestly that part bugs me, fake support is worse than no support imo
This is extremely basic ruby: UTF-8 encoded strings must be valid UTF-8. This is not unique to ruby. If I recall correctly, python 3 does the same thing.
This person is a senior engineer on their Team page. All they had to do was google "ArgumentError: invalid byte sequence in UTF-8". Or ask a coworker... the company has Ruby on Rails applications. headdesk