cvs: php4 /ext/standard array.c
| From: | Andrey Hristov | 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;
}