Re: PHP 4.0 Bug #7113: count and pointers

From: Date: Tue, 10 Oct 2000 11:06:59 +0000
Subject: Re: PHP 4.0 Bug #7113: count and pointers
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-34566@lists.php.net to get a copy of this message
At 13:02 12-10-00 +0200, Dhr. CaPS Cappert wrote:
I tried this .. however I assigned $blah to &$DATA and did a count($blah); The difference is about one second.. (granted, still to much..)
Hiya 1. It's not right... should have a reason (and faster is almost always better) 2. My test-machine isn't that fast the you realy feel the diff
        wait one sec or wat almost 25 secs
        and the file in now "only" 8 meg may be much bigger in the future
        i don't think it will get faster then :)
Greetz, Wico
Bear in mind that your code doesn't make sense. I don't see why this is such a problem for you. -- CaPS On Tue, 10 Oct 2000, Wico de Leeuw wrote: At 02:35 10-10-00 -0700, Lars Torben Wilson wrote:
wico@cnh.nl writes:
From:             wico@cnh.nl
Operating system: linux
PHP version:      4.0 Latest CVS (10/10/2000)
PHP Bug Type:     Performance problem
Bug 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.
I guess this explains that something is really wrong
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|
+----------------------------------------------------------------+
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net For additional commands, e-mail: php-dev-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net


« previous php.dev (#34566) next »