[Bug 1285097] Re: PCRE JIT doesn't work on trusty
Al Faar Al Hazin
1285097 at bugs.launchpad.net
Mon Jul 7 23:19:10 UTC 2014
What I did was compiling PCRE with JIT support as:
./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --libdir=/usr/lib/x86_64-linux-gnu \
--enable-utf8 --enable-unicode-properties\
--enable-pcre16 \
--enable-pcre32 \
--enable-pcregrep-libz \
--enable-pcregrep-libbz2 \
--enable-pcretest-libreadline \
--disable-static --enable-jit
and then manually copying it to /lib/(distro-code), replacing link to an
old one into new one. That actually worked, but performance boost wasn't
really what I'd say "blazing" (no special test, just stress tests).
Perhaps, it would show more if you have large anti-spam ruleset and IP
filters.
Another point of note: I'm not exactly sure what would happen if we'd
try pcre32 lib instead of original. Would it work? Would it be faster?
If so, does it make any sense to make 64 bit version of it? Or it
doesn't matter much, because anyway we don't have much of rules?
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to pcre3 in Ubuntu.
https://bugs.launchpad.net/bugs/1285097
Title:
PCRE JIT doesn't work on trusty
Status in “pcre3” package in Ubuntu:
New
Bug description:
Hello!
I'm trying to utilize PCRE JIT on latest ubuntu trusty. Haproxy and
nginx compile fine with PCRE JIT support, however JIT support doesn't
work.
Haproxy 1.5-dev22:
--- snip ---
HA-Proxy version 1.5-dev22-snapshot-20140225 2014/02/03
Copyright 2000-2014 Willy Tarreau <w at 1wt.eu>
Build options :
TARGET = linux2628
CPU = generic
CC = gcc
CFLAGS = -O3 -pipe -fomit-frame-pointer -funroll-loops -g
OPTIONS = USE_LINUX_SPLICE=1 USE_CTTPROXY=1 USE_LINUX_TPROXY=1 USE_LIBCRYPT=1 USE_GETADDRINFO=1 USE_ZLIB=1 USE_CPU_AFFINITY=1 USE_REGPARM=1 USE_OPENSSL=1 USE_STATIC_PCRE=1 USE_PCRE_JIT=1 USE_TFO=1
Default settings :
maxconn = 2000, bufsize = 16384, maxrewrite = 8192, maxpollevents = 200
Encrypted password support via crypt(3): yes
Built with zlib version : 1.2.8
Compression algorithms supported : identity, deflate, gzip
Built with OpenSSL version : OpenSSL 1.0.1f 6 Jan 2014
Running on OpenSSL version : OpenSSL 1.0.1f 6 Jan 2014
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports prefer-server-ciphers : yes
Built with PCRE version : 8.31 2012-07-06
PCRE library supports JIT : no (libpcre build without JIT?)
Built with transparent proxy support using: CTTPROXY IP_TRANSPARENT IPV6_TRANSPARENT IP_FREEBIND
--- snip ---
Nginx 1.5.10:
--- snip ---
nginx: [warn] PCRE library does not support JIT in /etc/nginx/extra/nginx-main.conf:23
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
--- snip ---
I think that PCRE jit can have serious performance advantage with
software that can utilize it (heavy loaded nginx/haproxy instances
with lots of pcre rules).
For performance comparisions see:
http://sljit.sourceforge.net/regex_perf.html
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pcre3/+bug/1285097/+subscriptions
More information about the foundations-bugs
mailing list