perf. improvement/rx: Only compute dynamic regex in case of macro

On #1528 was added the support for macro expansion on @rx operator.
The performance improvement suggested on the pull request was not
thread safe, therefore removed. This patch adds a performance
improvement on top of #1528. The benchmarks points to 10x faster
results on OWASP CRS.
This commit is contained in:
Felipe Zimmerle
2018-01-02 20:54:44 -03:00
parent 4a23891c85
commit 768a76a61e
8 changed files with 56 additions and 34 deletions

View File

@@ -1027,6 +1027,11 @@ op_before_init:
| OPERATOR_RX FREE_TEXT
{
OPERATOR_CONTAINER($$, new operators::Rx($2));
std::string error;
if ($$->init(driver.ref.back(), &error) == false) {
driver.error(@0, error);
YYERROR;
}
}
| OPERATOR_STR_EQ FREE_TEXT
{