phpbar.de logo

Mailinglisten-Archive

[php] Performance und andere PHP Limits ;-)

[php] Performance und andere PHP Limits ;-)

Andreas Lange andreas.lange at haas-media.de
Don Jan 22 09:02:06 CET 2004


Hi,

Gibt es ein Limit in PHP für die Anzahl der gleichzeitig im Speicher
aktiven Objekte? In meinem unten aufgeführten Beispiel scheint es
maximal ~ 65536 ;-) Objekte geben zu können, das deutet darauf hin,
das dort ein 16Bit Limit irgendwie existiert. Weiss da jemand
genaueres?

Aufgefallen ist mir das bei dem kleinen Progrämmchen zum Testen des
Geschwindigkeitunterschieds zwischen Arrays und dem Abbilden des
ganzen als Objekte.

Source:

<?php

$counter = 65000;

function tstart() {
        return array_sum(explode(' ', microtime()));
}

function tend($timer) {
        $exec_time = array_sum(explode(' ', microtime())) - $timer;
        return "Execution time is $exec_time seconds.<br />";
}


// Array
$t1 = tstart();
$a = array();
for($i=0; $i < $counter; $i++) {
        $a[$i] = $i;
}
$t1 = tend($t1);

echo $t1;


// Objects
class vector {
        var $data;
        
        function add($index,$object) {
                $this->data[$index] = &$object;
        }
}

class a {
        var $value;
        
        function setValue($v) {
                $this->value = $value;
        }
}

$t2 = tstart();
$a = new vector;
for($i=0; $i < $counter; $i++) {
        $t = new a;
        $t->setValue($i);
        $a->add($i,$t);
}
$t2 = tend($t2);

echo $t2;

?>

-- 
Andreas Lange


php::bar PHP Wiki   -   Listenarchive