Mailinglisten-Archive |
Hallo, ich habe folgendes Problem. Mein Code hat ungefähr diese Struktur: <?php class testp extends ... // mehr Elternklassen { function __construct() { } } class test extends testp { function __construct() { parent::__construct(); } public function testmethod($name) { } } for ($i = 0; $i < 3000; $i++) { $inst = new test(); $name = 'lala'; $inst->testmethod($name); // hier würde ich unset($inst); schreiben } ?> In diesem Test ist die Laufzeit für jeden Durchlauf konstant. Doch in dem Real-Life Code muss ich erstens bei jedem Loop ein unset($inst) einfügen und der alleinige Aufruf der Methode, die nichts tut, frist bei jedem Durchlauf immer mehr Zeit. Anfänglich sind es „nur“ 0.7ms. Beim 3000. sind es schon 14 und mehr. Ich habe das Problem bereits auf stackoverflow gepostet mit originalem Code und Laufzeiten: <http://stackoverflow.com/questions/18162165/why-does-a-method-call-slows-do wn-everything> http://stackoverflow.com/questions/18162165/why-does-a-method-call-slows-dow n-everything Allerdings konnte mir dort keiner einen Hinweis auf das zugrunde liegende mögliche Problem liefern. Allein dass ich ein unset benutzen muss, macht mich schon stutzig. Ich verstehe es einfach nicht. Beste Grüße Michael Fuhrmann
php::bar PHP Wiki - Listenarchive