cvs: php4 /ext/standard array.c

From: Date: Sat, 22 Feb 2003 10:54:27 +0000
Subject: cvs: php4 /ext/standard array.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-19080@lists.php.net to get a copy of this message
andrey Sat Feb 22 05:54:27 2003 EDT Modified files: /php4/ext/standard array.c Log: rehash only in case something is changed. #lowers the execution time in half on my machine on array with 1000 elements #with nonscalar keys. Maybe it can be optimized further. Index: php4/ext/standard/array.c diff -u php4/ext/standard/array.c:1.220 php4/ext/standard/array.c:1.221 --- php4/ext/standard/array.c:1.220 Thu Feb 6 10:27:53 2003 +++ php4/ext/standard/array.c Sat Feb 22 05:54:26 2003 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: array.c,v 1.220 2003/02/06 15:27:53 sniper Exp $ */ +/* $Id: array.c,v 1.221 2003/02/22 10:54:26 andrey Exp $ */ #include "php.h" #include "php_ini.h" @@ -1866,7 +1866,9 @@ p = p->pListNext; } Z_ARRVAL_PP(stack)->nNextFreeElement = k; - zend_hash_rehash(Z_ARRVAL_PP(stack)); + if (k) { + zend_hash_rehash(Z_ARRVAL_PP(stack)); + } } else if (!key_len) { Z_ARRVAL_PP(stack)->nNextFreeElement = Z_ARRVAL_PP(stack)->nNextFreeElement - 1; }

« previous php.cvs (#19080) next »