phpbar.de logo

Mailinglisten-Archive

[php] Zeitproblem beim Methodenaufruf

[php] Zeitproblem beim Methodenaufruf

Michael Fuhrmann technik at piaunddirk.de
Mo Aug 12 11:37:58 CEST 2013


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



Mehr Informationen über die Mailingliste php

php::bar PHP Wiki   -   Listenarchive