[TYPO3-german] PHP Ausführungszeit-Problem bei Array-Zuweisung
g4-lisz at tonarchiv.ch
g4-lisz at tonarchiv.ch
Thu Dec 18 18:24:57 CET 2014
Ich habe das Problem gefunden. Es lag am Fluid-Template. Dort wurde
abhängig von der fraglichen Variable eine verschachtelte Schleife
aufgerufen, die wiederum die Variable (und den dahinter stehende Getter)
aufrief. Das war natürlich sehr ineffektiv und von Rechenaufwand her
exponentiell zur Array-Größe...
Grüße,
Till
On 12/18/2014 05:11 PM, g4-lisz at tonarchiv.ch wrote:
> 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 at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
More information about the TYPO3-german
mailing list