summaryrefslogtreecommitdiff
path: root/ext/standard/array.c
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2006-10-03 17:41:47 +0000
committerIlia Alshanetsky <iliaa@php.net>2006-10-03 17:41:47 +0000
commit8581c7328f1795e7b83ce8b09bfdffed49be6df8 (patch)
tree249a92a2ae22605a0783faf01ccd6bb46ed090eb /ext/standard/array.c
parent59fabbb464e799c0aa88e87b3f82b2d7ad96928c (diff)
downloadphp-git-8581c7328f1795e7b83ce8b09bfdffed49be6df8.tar.gz
optimize zend_hash_init() with known hash table sizes.
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r--ext/standard/array.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c
index 13a6ff2c9c..05f234382e 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -3055,7 +3055,7 @@ static void php_array_intersect(INTERNAL_FUNCTION_PARAMETERS, int behavior, int
zval *tmp;
ALLOC_HASHTABLE(ht);
- zend_hash_init(ht, 0, NULL, ZVAL_PTR_DTOR, 0);
+ zend_hash_init(ht, zend_hash_num_elements(return_value->value.ht), NULL, ZVAL_PTR_DTOR, 0);
zend_hash_copy(ht, return_value->value.ht, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
return_value->value.ht = ht;
}
@@ -3441,7 +3441,7 @@ static void php_array_diff(INTERNAL_FUNCTION_PARAMETERS, int behavior, int data_
zval *tmp;
ALLOC_HASHTABLE(ht);
- zend_hash_init(ht, 0, NULL, ZVAL_PTR_DTOR, 0);
+ zend_hash_init(ht, zend_hash_num_elements(return_value->value.ht), NULL, ZVAL_PTR_DTOR, 0);
zend_hash_copy(ht, return_value->value.ht, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
return_value->value.ht = ht;
}