Hi Chris, danke für die Erläuterungen! Ist mir schon klar mit den verschachtelten Schleifen. Ich kam nur nicht auf die Idee, dass die nicht nur in der Action sondern auch im Fluid-Template waren ;)
Konnte das Problem nun umgehen mit dem Alias-Viewhelper, so dass die Action vom Fluid-Template nur einmal aufgerufen wird. Grüße, Till On 12/19/2014 09:27 AM, Chris Wolff - AERTiCKET AG wrote: > 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? > _______________________________________________ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german