Mailinglisten-Archive |
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