If you have good reason to believe it will be slower, then naturaly we should forget about that patch. I don't know much about cache hitrates. The other patch removes bogus code, which should be good I reckon.
If you still want the patch for PCRE though, a patch with braces follows below. - Ron ### Eclipse Workspace Patch 1.0 #P php5 Index: ext/pcre/php_pcre.c =================================================================== RCS file: /repository/php-src/ext/pcre/php_pcre.c,v retrieving revision 1.209 diff -u -r1.209 php_pcre.c --- ext/pcre/php_pcre.c 10 Oct 2006 12:43:34 -0000 1.209 +++ ext/pcre/php_pcre.c 14 Dec 2006 20:19:38 -0000 @@ -417,18 +417,35 @@ PHPAPI pcre* pcre_get_compiled_regex_ex(char *regex, pcre_extra **extra, int *preg_options, int *compile_options TSRMLS_DC) { pcre_cache_entry * pce = pcre_get_compiled_regex_cache(regex, strlen(regex) TSRMLS_CC); - - if (extra) { - *extra = pce ? pce->extra : NULL; - } - if (preg_options) { - *preg_options = pce ? pce->preg_options : 0; + + if (pce) + { + if (extra) { + *extra = pce->extra; + } + if (preg_options) { + *preg_options = pce->preg_options; + } + if (compile_options) { + *compile_options = pce->compile_options; + } + + return pce->re; } - if (compile_options) { - *compile_options = pce ? pce->compile_options : 0; + else + { + if (extra) { + *extra = NULL; + } + if (preg_options) { + *preg_options = 0; + } + if (compile_options) { + *compile_options = 0; + } + + return NULL; } - - return pce ? pce->re : NULL; } /* }}} */ ""Nuno Lopes"" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > > Hi, > > > > Below are 2 patches for the latest 5.2. The first patch rewrites > > pcre_get_compiled_regex_ex() in ext/pcre/php_pcre.c from line 417, saving > > up > > to 3 comparison statements (?:). The second patch removes a pointless > > statement (setting a local variable right before a return statement) from > > json_determine_array_type() in ext/json/json.c on line 92. > > well about the pcre one I could argument that your patch makes the code > bigger and potentially slower :P (due to cache misses) Anyway, I do trust > the compiler to do such kind of trivial optimizations.. > > > > Index: ext/pcre/php_pcre.c > > =================================================================== > > RCS file: /repository/php-src/ext/pcre/php_pcre.c,v > > retrieving revision 1.209 > > diff -u -r1.209 php_pcre.c > > --- ext/pcre/php_pcre.c 10 Oct 2006 12:43:34 -0000 1.209 > > +++ ext/pcre/php_pcre.c 13 Dec 2006 18:22:07 -0000 > > @@ -417,18 +417,21 @@ > > PHPAPI pcre* pcre_get_compiled_regex_ex(char *regex, pcre_extra **extra, > > int *preg_options, int *compile_options TSRMLS_DC) > > { > > pcre_cache_entry * pce = pcre_get_compiled_regex_cache(regex, > > strlen(regex) TSRMLS_CC); > > - > > - if (extra) { > > - *extra = pce ? pce->extra : NULL; > > - } > > - if (preg_options) { > > - *preg_options = pce ? pce->preg_options : 0; > > + > > + if (pce) > > + { > > + if (extra) *extra = pce->extra; > > + if (preg_options) *preg_options = pce->preg_options; > > + if (compile_options) *compile_options = pce->compile_options; > > + return pce->re; > > } > > - if (compile_options) { > > - *compile_options = pce ? pce->compile_options : 0; > > + else > > + { > > + if (extra) *extra = NULL; > > + if (preg_options) *preg_options = 0; > > + if (compile_options) *compile_options = 0; > > + return NULL; > > } > > - > > - return pce ? pce->re : NULL; > > } > > /* }}} */ -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php