com php-src: Specify HashTable size and optimize inserts that may not conflict: Zend/zend_object_handlers.c

From: Date: Tue, 08 Jul 2014 09:46:03 +0000
Subject: com php-src: Specify HashTable size and optimize inserts that may not conflict: Zend/zend_object_handlers.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-79331@lists.php.net to get a copy of this message
Commit: 9b9d60a48015f25555ee117d72eb4171afe955d0 Author: Dmitry Stogov <dmitry@zend.com> Tue, 8 Jul 2014 13:46:03 +0400 Parents: 0abd6262692eeb8736d70db5a882f9e796ce4374 Branches: phpng Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=9b9d60a48015f25555ee117d72eb4171afe955d0 Log: Specify HashTable size and optimize inserts that may not conflict Changed paths: M Zend/zend_object_handlers.c Diff: diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index 078e662..30794a3 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -75,7 +75,7 @@ ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */ zend_class_entry *ce = zobj->ce; ALLOC_HASHTABLE(zobj->properties); - zend_hash_init(zobj->properties, 8, NULL, ZVAL_PTR_DTOR, 0); + zend_hash_init(zobj->properties, ce->default_properties_count, NULL, ZVAL_PTR_DTOR, 0); if (ce->default_properties_count) { ZEND_HASH_FOREACH_PTR(&ce->properties_info, prop_info) { if (/*prop_info->ce == ce &&*/ @@ -85,7 +85,7 @@ ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */ zval zv; ZVAL_INDIRECT(&zv, &zobj->properties_table[prop_info->offset]); - zend_hash_add(zobj->properties, prop_info->name, &zv); + zend_hash_add_new(zobj->properties, prop_info->name, &zv); } } ZEND_HASH_FOREACH_END(); while (ce->parent && ce->parent->default_properties_count) {

« previous php.cvs (#79331) next »