On Thu, 16 Jul 2026 at 19:01, Jonathan Wakely <[email protected]> wrote: > > > > On Thu, 16 Jul 2026, 15:31 Tamar Christina, <[email protected]> wrote: >> >> This patch add a conservative first-character precheck for DFS prefix search. >> regex_search and regex_token_iterator try the pattern at each possible input >> position. However for many regexp some of those positions can be rejected by >> looking through the front (without consuming state) before building th full >> DFS state which can be expensive to build only to realize that nothing >> matches. >> >> The pre-check only returns false when every inspected path reaches a first >> consuming match state that rejects *_M_current, or reaches a dead end. It >> returns true for unsupported or context-sensitive states such as backrefs >> and lookahead, so true means "run the normal executor" and false means >> "this start position cannot match". >> >> This mainly helps IPv4-style scans where most positions are non-digits and >> only a few positions can start a match. >> >> Benchmarks improvements compared to GCC 16: >> email: 55.5% >> URI: 55.2% >> IPv4: 68.0% >> >> Bootstrapped Regtested on aarch64-none-linux-gnu, >> arm-none-linux-gnueabihf, x86_64-pc-linux-gnu >> -m32, -m64 and no issues. >> >> Ok for master? > > > Nice, there's a bugzilla somewhere that says we should do this.
This one: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88947 > > This one is independent of the first two patches in the series, right? >
