aboutsummaryrefslogtreecommitdiffstats
path: root/package/libs/pcre2/Config.in
blob: 8777a4e84cbe167aeab31e2abf6a1889d0e8c53a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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