iliaa           Tue Oct  3 17:41:48 2006 UTC

  Modified files:              (Branch: PHP_5_2)
    /php-src/ext/standard       array.c streamsfuncs.c string.c 
  Log:
  optimize zend_hash_init() with known hash table sizes.
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.308.2.21.2.13&r2=1.308.2.21.2.14&diff_format=u
Index: php-src/ext/standard/array.c
diff -u php-src/ext/standard/array.c:1.308.2.21.2.13 
php-src/ext/standard/array.c:1.308.2.21.2.14
--- php-src/ext/standard/array.c:1.308.2.21.2.13        Tue Oct  3 16:37:51 2006
+++ php-src/ext/standard/array.c        Tue Oct  3 17:41:47 2006
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: array.c,v 1.308.2.21.2.13 2006/10/03 16:37:51 bjori Exp $ */
+/* $Id: array.c,v 1.308.2.21.2.14 2006/10/03 17:41:47 iliaa Exp $ */
 
 #include "php.h"
 #include "php_ini.h"
@@ -3055,7 +3055,7 @@
                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 @@
                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;            
        }
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/streamsfuncs.c?r1=1.58.2.6.2.7&r2=1.58.2.6.2.8&diff_format=u
Index: php-src/ext/standard/streamsfuncs.c
diff -u php-src/ext/standard/streamsfuncs.c:1.58.2.6.2.7 
php-src/ext/standard/streamsfuncs.c:1.58.2.6.2.8
--- php-src/ext/standard/streamsfuncs.c:1.58.2.6.2.7    Fri Sep 29 13:11:27 2006
+++ php-src/ext/standard/streamsfuncs.c Tue Oct  3 17:41:47 2006
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: streamsfuncs.c,v 1.58.2.6.2.7 2006/09/29 13:11:27 bjori Exp $ */
+/* $Id: streamsfuncs.c,v 1.58.2.6.2.8 2006/10/03 17:41:47 iliaa Exp $ */
 
 #include "php.h"
 #include "php_globals.h"
@@ -614,7 +614,7 @@
                return 0;
        }
        ALLOC_HASHTABLE(new_hash);
-       zend_hash_init(new_hash, 0, NULL, ZVAL_PTR_DTOR, 0);
+       zend_hash_init(new_hash, 
zend_hash_num_elements(Z_ARRVAL_P(stream_array)), NULL, ZVAL_PTR_DTOR, 0);
        
        for (zend_hash_internal_pointer_reset(Z_ARRVAL_P(stream_array));
                 zend_hash_get_current_data(Z_ARRVAL_P(stream_array), (void **) 
&elem) == SUCCESS;
@@ -662,7 +662,7 @@
                return 0;
        }
        ALLOC_HASHTABLE(new_hash);
-       zend_hash_init(new_hash, 0, NULL, ZVAL_PTR_DTOR, 0);
+       zend_hash_init(new_hash, 
zend_hash_num_elements(Z_ARRVAL_P(stream_array)), NULL, ZVAL_PTR_DTOR, 0);
        
        for (zend_hash_internal_pointer_reset(Z_ARRVAL_P(stream_array));
                 zend_hash_get_current_data(Z_ARRVAL_P(stream_array), (void **) 
&elem) == SUCCESS;
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/string.c?r1=1.445.2.14.2.22&r2=1.445.2.14.2.23&diff_format=u
Index: php-src/ext/standard/string.c
diff -u php-src/ext/standard/string.c:1.445.2.14.2.22 
php-src/ext/standard/string.c:1.445.2.14.2.23
--- php-src/ext/standard/string.c:1.445.2.14.2.22       Mon Oct  2 20:07:14 2006
+++ php-src/ext/standard/string.c       Tue Oct  3 17:41:47 2006
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: string.c,v 1.445.2.14.2.22 2006/10/02 20:07:14 andrei Exp $ */
+/* $Id: string.c,v 1.445.2.14.2.23 2006/10/03 17:41:47 iliaa Exp $ */
 
 /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */
 
@@ -2496,7 +2496,7 @@
        smart_str result = {0};
        HashTable tmp_hash;
        
-       zend_hash_init(&tmp_hash, 0, NULL, NULL, 0);
+       zend_hash_init(&tmp_hash, zend_hash_num_elements(hash), NULL, NULL, 0);
        zend_hash_internal_pointer_reset_ex(hash, &hpos);
        while (zend_hash_get_current_data_ex(hash, (void **)&entry, &hpos) == 
SUCCESS) {
                switch (zend_hash_get_current_key_ex(hash, &string_key, 
&string_key_len, &num_key, 0, &hpos)) {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to