Re: Some regular-expression performance hacking
Joel Jacobson <joel@compiler.org>
On Thu, Feb 18, 2021, at 20:58, Joel Jacobson wrote: >Like you said earlier, perhaps the regex engine has been optimized enough for this time. >If not, you want to investigate an additional idea, In the above sentence, I meant "you _may_ want to". I'm not at all sure these idea are applicable in the PostgreSQL regex engine, so feel free to silently ignore these if you feel there is a risk for time waste. >that I think can be seen as a generalization of the optimization trick for (.*), >if I've understood how it works correctly. Actually not sure if it can be seen as a generalization, I just came to think of my ideas since they also improve the case when you have lots of (.*) or bracket expressions of large ranges. /Joel
Commits
-
Suppress unnecessary regex subre nodes in a couple more cases.
- 4604f83fdfe0 14.0 landed
-
Improve memory management in regex compiler.
- 0fc1af174cf7 14.0 landed
-
Extend a test case a little
- b3a9e9897ec7 14.0 cited
-
Allow complemented character class escapes within regex brackets.
- 2a0af7fe460e 14.0 landed
-
Suppress compiler warning in new regex match-all detection code.
- 3db05e76f928 14.0 landed
-
Avoid generating extra subre tree nodes for capturing parentheses.
- ea1268f6301c 14.0 landed
-
Convert regex engine's subre tree from binary to N-ary style.
- 581043089472 14.0 landed
-
Fix regex engine to suppress useless concatenation sub-REs.
- cebc1d34e520 14.0 landed
-
Recognize "match-all" NFAs within the regex engine.
- 824bf71902db 14.0 landed
-
Invent "rainbow" arcs within the regex engine.
- 08c0d6ad65f7 14.0 landed
-
Make some minor improvements in the regex code.
- 4e703d67193d 14.0 landed
-
Display the time when the process started waiting for the lock, in pg_locks, take 2
- 46d6e5f56790 14.0 cited
-
README/C-comment: document GiST's NSN value
- 8facf1ea00b7 14.0 cited
-
doc: Mention NO DEPENDS ON EXTENSION in its supported ALTER commands
- 8063d0f6f56e 14.0 cited