wahsaga: Performance durch Initialisierung

Beitrag lesen

hi,

auf:
http://www.phpperformance.de/kleine-tipps-am-rande/#more-74
ist zu lesen, dass es Performance kostet wenn man Variablen die inkrementiert wird nicht vorher initialisiert.

Also sollte z.B.: for ($i=0; $i < count($parameterIDs); $i++) {...
langsamer sein als $i=0; for ($i=0; $i < count($parameterIDs); $i++) {...

Nein, das ist ein Missverständnis - hier _wird_ die Variable ja initialisiert, und zwar gleich zu Beginn der For-Schleife.

Was eher sinnvoll wäre, ist die Anzahl der Parameter _vor_ der Schleife zu ermitteln, damit count() nicht bei jeder Überprüfung der Schleifenabbruchbedingung, als in jedem Durchlauf, wieder ausgeführt werden muss:

$anzahlParameter = count($parameterIDs)
for ($i=0; $i < $anzahlParameter; $i++) { ...

Das kann man natürlich auch so schreiben:
for ($i=0, $anzahlParameter = count($parameterIDs); $i < $anzahlParameter; $i++) { ...

Die Semikolons trennen die "Parameter" einer For-Schleife in drei Blöcke:

  • "Anweisungen", die beim Eintreten in die Schleife ausgeführt werden sollen,
  • Abbruchbedingung, die vor jedem neue Durchlauf überprüft wird, und
  • "Anweisungen", die nach dem Ende jeden Durchlaufes ausgeführt werden sollen.

"Anweisungen" in Anführungszeichen, weil dort natürlich nicht ausnahmlos alles erlaubt ist, sondern nur "Ausdrücke".

gruß,
wahsaga

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }