Hi  Till.

Typo3 hat ein timetracker $timeTracker (hab selbst noch nicht damit gearbeitet 
aber damit solltest du eigendlich,
in der lage sein aufrufzeiten zu protokollieren..

und so vielleicht näher an die ursache deines problems herrahnkommen.

Für each schleifen können natürlich ein problem darstellen weil sich die anzahl 
der operationen exponentionell erhöht.

Wenn du 2 foreach schleifen mit je 10 operationen hast.

Müssen 10*10 = 100 Operationen durchgeführt.
Wenn eine weitere mit 10 Operationen hinzukommt.
10*10*10 = 1000

Meine logik ist hier natürlich stark vereinfacht. (aber ich denke die idee ist 
verständlich)

Gruss chris

-----Ursprüngliche Nachricht-----
Von: typo3-german-boun...@lists.typo3.org 
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von 
g4-l...@tonarchiv.ch
Gesendet: Donnerstag, 18. Dezember 2014 17:11
An: 'German TYPO3 Userlist'
Betreff: [TYPO3-german] PHP Ausführungszeit-Problem bei Array-Zuweisung

Hallo allerseits,

das Problem ist vermutlich nicht T3-spezifisch, aber vielleicht kann mir 
trotzdem jemand weiter helfen:

In einer Extbase Action-Funktion habe ich folgende Schleife:
                $return = array(
                        'standorts' => array(),
                        'leistungs' => array(),
                );
                $hasStandorts = array();
                foreach (....) {
                        foreach ($this->getStandorts() as $standort) {
                                $standortUid = $standort->getUid();

                                [...]

                                 if(...)
                                       $hasStandorts[$standortUid] = true;
                        }
                }


                foreach ($this->getStandorts() as $standort) {
                        //echo $standort->getCurrent()->getName();
                        if (array_key_exists($standort->getUid(),
$hasStandorts))
                              $return['standorts'][] = 
$standort->getCurrent()->getName();
                }

Die Funktion bricht wegen Timeouts ab (120sec.).

Offenbar brauchen folgenden Zeilen zuviel Zeit:
        $hasStandorts[$standortUid] = true; und
        $return['standorts'][] = $standort->getCurrent()->getName();
       
Wenn ich sie auskommentiere, dauert der Aufbau der Seite max. 1 Sekunde.

Es liegt aber auch nicht an $standort->getCurrent()->getName() - wenn ich die 
Zeile
        echo $standort->getCurrent()->getName();
aktiviere, macht dies das Ganze nicht langsamer.

Ist mir alles schleierhaft. Evlt. ein Speicherproblem?
In anderen Funktionen benutze ich genau die gleichen Zuweisungen, dort ist es 
aber kein Problem. Allerdings haben diese Funktionen weniger verschachtelte 
foreach-Schleifen. Kann das irgendwie damit zusammen hängen?

Grüße,
Till
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an