From: Greg Beaver Date: Fri, 20 Jun 2008 06:37:14 +0000 (+0000) Subject: minor performance improvement X-Git-Tag: php-5.3.0alpha1~703 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aff3636d9cdb4b83a1792192ffbae23dd1378179;p=php minor performance improvement --- diff --git a/ext/phar/phar.phar b/ext/phar/phar.phar index 70cdf8b9e2..170c4a8860 100755 Binary files a/ext/phar/phar.phar and b/ext/phar/phar.phar differ diff --git a/ext/phar/util.c b/ext/phar/util.c index 30bb5a0d41..8f39cd61ab 100644 --- a/ext/phar/util.c +++ b/ext/phar/util.c @@ -251,6 +251,12 @@ char *phar_find_in_include_path(char *filename, int filename_len, phar_archive_d fname = zend_get_executed_filename(TSRMLS_C); fname_len = strlen(fname); + if (PHAR_G(last_phar) && !memcmp(fname, "phar://", 7) && fname_len - 7 >= PHAR_G(last_phar_name_len) && !memcmp(fname + 7, PHAR_G(last_phar_name), PHAR_G(last_phar_name_len))) { + arch = estrndup(PHAR_G(last_phar_name), PHAR_G(last_phar_name_len)); + arch_len = PHAR_G(last_phar_name_len); + phar = PHAR_G(last_phar); + goto splitted; + } if (fname_len < 7 || memcmp(fname, "phar://", 7) || SUCCESS != phar_split_fname(fname, strlen(fname), &arch, &arch_len, &entry, &entry_len, 1, 0 TSRMLS_CC)) { return phar_save_resolve_path(filename, filename_len TSRMLS_CC); } @@ -262,6 +268,7 @@ char *phar_find_in_include_path(char *filename, int filename_len, phar_archive_d efree(arch); return phar_save_resolve_path(filename, filename_len TSRMLS_CC); } +splitted: if (pphar) { *pphar = phar; }