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; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php