| config PCRE2_JIT_ENABLED | |
| bool | |
| depends on PACKAGE_libpcre2 && (aarch64 || aarch64_be || arm || i386 || i686 || x86_64 || mips || mipsel || mips64 || mips64el || powerpc || powerpc64 || powerpcle || sparc) | |
| default y if (arm || i686 || x86_64) | |
| prompt "Enable JIT compiler support" | |
| help | |
| Enable JIT (Just-In-Time) compiler support. | |
| Just-in-time compiling is a heavyweight optimization that can greatly | |
| speed up pattern matching. However, it comes at the cost of extra | |
| processing before the match is performed, so it is of most benefit when | |
| the same pattern is going to be matched many times. This does not | |
| necessarily mean many calls of a matching function; if the pattern is | |
| not anchored, matching attempts may take place many times at various | |
| positions in the subject, even for a single call. Therefore, if the | |
| subject string is very long, it may still pay to use JIT even for | |
| one-off matches. JIT support is available for all of the 8-bit, 16-bit | |
| and 32-bit PCRE2 libraries and adds about 100KB to the resulting | |
| libpcre2.so. JIT support applies only to the traditional Perl-compatible | |
| matching function. It does not apply when the DFA matching function is | |
| being used. | |
| Enabling this option can give an about 10x performance increase on JIT | |
| operations. It can be desireable for e.g. high performance Apache | |
| mod_rewrite or HA-Proxy reqrep operations. | |
| However, JIT should _only_ be enabled on architectures that are supported. | |
| Enabling JIT on unsupported platforms will result in a compilation | |
| failure. A list of supported architectures can be found here: | |
| https://pcre.org/current/doc/html/pcre2jit.html#SEC2 |