Einzelnen Beitrag anzeigen
Alt 21.04.2011, 13:25   #16
bl0bb
Erfahrener Benutzer
Punkte: 12.526, Level: 73 Punkte: 12.526, Level: 73 Punkte: 12.526, Level: 73
Levelaufstieg: 19% Levelaufstieg: 19% Levelaufstieg: 19%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
 
Benutzerbild von bl0bb
 
Registriert seit: 04.04.2011
Beitr?ge: 247
Abgegebene Danke: 6
Erhielt 94 Danke für 7 Beiträge
Themenstarter Themenstarter
Downloads: 2
Uploads: 0
Nachrichten: 34
Renommee-Modifikator:
1013 bl0bb genießt hohes Ansehenbl0bb genießt hohes Ansehenbl0bb genießt hohes Ansehenbl0bb genießt hohes Ansehenbl0bb genießt hohes Ansehenbl0bb genießt hohes Ansehenbl0bb genießt hohes Ansehenbl0bb genießt hohes Ansehenbl0bb genießt hohes Ansehenbl0bb genießt hohes Ansehenbl0bb genießt hohes Ansehen
Standard

Zitat:
Zitat von D@rk-€vil™ Beitrag anzeigen
nur ich frage mich, warum wurde in meiner letzten php weiterbildung gesagt.....das...

echo besser sei als output
Jo, eigentlich stimmt es fast. Es kommt immer auf die Kombination an. Sobald man den Ausgabepuffer nutzt ist echo schneller, ohne Pufferung $output. Da aber die wenigsten schon mal was von ob_start gehört haben... Aber auch mit Puffer sind beide Varianten annähernd gleich. Daher würde ich die $output Varaiante einer Masse von echos immer vorziehen.

Testskript $output
PHP-Code:
<?
ob_start();
$scriptstart = microtime(true);
$output = '';
for($i = 0; $i < 500000; ++$i) {
    $output .= 'Zahl' . $i;
}
echo $output;
unset($output);
echo '<br/><br/>Laufzeit: ' . (microtime(true) - $scriptstart) . 's<br/>benutzter Speicher: ' . memory_get_usage() . 'bytes';
ob_end_flush();
?>
Testskript echo
PHP-Code:
<?
ob_start();
$scriptstart = microtime(true);
for($i = 0; $i < 500000; ++$i) {
    echo 'Zahl' . $i;
}
echo '<br/><br/>Laufzeit: ' . (microtime(true) - $scriptstart) . 's<br/>benutzter Speicher: ' . memory_get_usage() . 'bytes';
ob_end_flush();
?>
Durchlauf 1 mit Puffer
$output
Laufzeit: 0.63549590110779ms
benutzter Speicher: 5235576bytes

echo
Laufzeit: 0.62462306022644s
benutzter Speicher: 5235488bytes

Durchlauf 2 mit Puffer
$output
Laufzeit: 0.63504791259766ms
benutzter Speicher: 5235576bytes

echo
Laufzeit: 0.62371683120728s
benutzter Speicher: 5235488bytes

Durchlauf 3 mit Puffer
$output
Laufzeit: 0.64082717895508ms
benutzter Speicher: 5235576bytes

echo
Laufzeit: 0.63638401031494s
benutzter Speicher: 5235488bytes


Durchlauf 1 ohne Puffer
$output
Laufzeit: 0.62938117980957ms
benutzter Speicher: 5224840bytes

echo
Laufzeit: 3.9060130119324s
benutzter Speicher: 340272bytes

Durchlauf 2 ohne Puffer
$output
Laufzeit: 0.68935108184814ms
benutzter Speicher: 5224840bytes

echo
Laufzeit: 2.9526829719543s
benutzter Speicher: 340272bytes

Durchlauf 3 ohne Puffer
$output
Laufzeit: 0.65321207046509ms
benutzter Speicher: 5224840bytes

echo
Laufzeit: 3.556214094162ms
benutzter Speicher: 340272bytes
bl0bb ist offline   Mit Zitat antworten Nach oben