Re: PHP 4.0 Bug #7113: count and pointers
| From: | Wico de Leeuw | Date: | Tue, 10 Oct 2000 10:13:44 +0000 |
| Subject: | Re: PHP 4.0 Bug #7113: count and pointers | ||
| References: | 1 2 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-34562@lists.php.net to get a copy of this message | ||
At 02:35 10-10-00 -0700, Lars Torben Wilson wrote:
wico@cnh.nl writes:I guess this explains that something is really wrongFrom: wico@cnh.nlOperating system: linuxPHP version: 4.0 Latest CVS (10/10/2000) PHP Bug Type: Performance problemBug description: count and pointers Hiya $ADLIB_FILE is a file, size = 9mb$ADLIB_DATA = file($ADLIB_FILE); $ADLIB_COUNT = count($ADLIB_DATA); echo time() - $test . " seconden<BR>\n\n"; die();takes 17 secs$ADLIB_DATA = file($ADLIB_FILE); $ADLIB_COUNT = count(&$ADLIB_DATA); echo time() - $test . " seconden<BR>\n\n"; die();this takes 27 secs? shouldn't this be faster the the first one? Greetz, Wico I just tried this with a 10MB text file and the following functions, running each one 5 times: $file = file('/home/torben/INBOX'); function with_ref() {global $file; $count = count(&$file); echo "$count<br>\n";} function without_ref() {global $file; $count = count($file); echo "$count<br>\n";} The first one runs 5 times in 0.00146 seconds; the second takes 9.0146 seconds to run 5 times. This is with the latest CVS.
Perhaps there is something in the file loading itself that is causing the problem? For instance, when I was testing this just now, I had to abort one run, which left an httpd running full-bore and eating massive megabytes--then I ran another test, and my numbers went all screwy, since the earlier invocation hadn't hit its 30-second limit and was still either loading or counting. I had to restart Apache to get things evened out--could something similar be happening to you?My apache uses 60 meg when loading a file into an array this is the normal behavior of large array Some thime ago i submited a bug report about array overhead being very big I did my test about 10 times with and without the pointer With pointer is just verry slow without you won;t even notice is doing something with the array is just guess the somthing wrong with my or phps logic about pointers Greetz, Wico
-- +----------------------------------------------------------------+|Torben Wilson <torben@php.net> Netmill iTech| |http://www.coastnet.com/~torben http://www.netmill.fi| |Ph: 1 250 383-9735 torben@netmill.fi|+----------------------------------------------------------------+