From:             
Operating system: Windows
PHP version:      5.3.3
Package:          cURL related
Bug Type:         Bug
Bug description:php_curl.dll, php_http.dll take 300ms to initialize

Description:
------------
both php_curl.dll and php_http.dll (linked with libcurl) are really slow to
initialize.  on a machine where `php -n /dev/null` or `php -n -m` takes
~70ms to complete, `php -n -d extension_dir=/... -d extension=php_curl.dll
/dev/null` (or php_http.dll) uses above 300ms.



seen this on multiple hosts ranging from xp sp2 to server 2003 r2 sp2.



5.2 is not affected which makes me believe it is related to the pooling
functionality added in 5.3.

Test script:
---------------
run this with native PHP in the MSYS shell:



: ${PHP53:=/c/Webserver/Apache2.2/php-5.3}

: ${PHP52:=/c/Webserver/Apache2.2/php-5.2}



for p in $PHP53 $PHP52; do

  for d in '' php_curl.dll php_http.dll; do

    echo ${p##*/} using ${d:-nothing}

    time $p/php -n -d extension_dir=$p/ext/ ${d:+-d extension=}$d
/dev/null

  done

done

Expected result:
----------------
php_curl.dll / php_http.dll should add at max 100ms each, or at least the
documentation should mention prominently the consequences of loading these
libraries.  i've read pecl_http's and php_curl's documentation, and found
no mention of a way to disable the time-consuming functionality.

Actual result:
--------------
php-5.3 using nothing



real    0m0.078s

user    0m0.015s

sys     0m0.016s

php-5.3 using -d extension=php_curl.dll



real    0m0.500s

user    0m0.000s

sys     0m0.015s

php-5.3 using -d extension=php_http.dll



real    0m0.516s

user    0m0.000s

sys     0m0.015s

php-5.2 using nothing



real    0m0.078s

user    0m0.015s

sys     0m0.000s

php-5.2 using -d extension=php_curl.dll



real    0m0.172s

user    0m0.000s

sys     0m0.015s

php-5.2 using -d extension=php_http.dll



real    0m0.078s

user    0m0.000s

sys     0m0.015s

-- 
Edit bug report at http://bugs.php.net/bug.php?id=52522&edit=1
-- 
Try a snapshot (PHP 5.2):            
http://bugs.php.net/fix.php?id=52522&r=trysnapshot52
Try a snapshot (PHP 5.3):            
http://bugs.php.net/fix.php?id=52522&r=trysnapshot53
Try a snapshot (trunk):              
http://bugs.php.net/fix.php?id=52522&r=trysnapshottrunk
Fixed in SVN:                        
http://bugs.php.net/fix.php?id=52522&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=52522&r=needdocs
Fixed in release:                    
http://bugs.php.net/fix.php?id=52522&r=alreadyfixed
Need backtrace:                      
http://bugs.php.net/fix.php?id=52522&r=needtrace
Need Reproduce Script:               
http://bugs.php.net/fix.php?id=52522&r=needscript
Try newer version:                   
http://bugs.php.net/fix.php?id=52522&r=oldversion
Not developer issue:                 
http://bugs.php.net/fix.php?id=52522&r=support
Expected behavior:                   
http://bugs.php.net/fix.php?id=52522&r=notwrong
Not enough info:                     
http://bugs.php.net/fix.php?id=52522&r=notenoughinfo
Submitted twice:                     
http://bugs.php.net/fix.php?id=52522&r=submittedtwice
register_globals:                    
http://bugs.php.net/fix.php?id=52522&r=globals
PHP 4 support discontinued:          http://bugs.php.net/fix.php?id=52522&r=php4
Daylight Savings:                    http://bugs.php.net/fix.php?id=52522&r=dst
IIS Stability:                       
http://bugs.php.net/fix.php?id=52522&r=isapi
Install GNU Sed:                     
http://bugs.php.net/fix.php?id=52522&r=gnused
Floating point limitations:          
http://bugs.php.net/fix.php?id=52522&r=float
No Zend Extensions:                  
http://bugs.php.net/fix.php?id=52522&r=nozend
MySQL Configuration Error:           
http://bugs.php.net/fix.php?id=52522&r=mysqlcfg

Reply via email to