anpera.net
https://anpera.dyndns.org/phpbb3/

Kleine Frage zu while und for
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=12&t=3092
Seite 1 von 1

Autor:  Harthas [ Sa 11 Nov, 2006 09:06 ]
Betreff des Beitrags:  Kleine Frage zu while und for

Hallo, ich hätte eine kleine Frage zu while und for. Und zwar, sind die nachfolgenden Teile theoretisch identisch (Ok, klar sind sie es nicht, aber könnte man das eine rein vom Resultat her durch das andere ersetzen?)
Laut Benchmark ist die for-Version um 0,007229 Sekundne schneller... xD
Aber bei while musste ich ja zusätzlich noch $i erneut definieren... Was arbeitet also wirklich schneller?
(Ich musste gerade feststellen, dass der Benchmark etwas fragwürdig zu sein scheint, möglich, dass die Zahl oben also nicht stimmt xD)

[php]$i=1;
while ($i<100000)
{
$sqrt[]=sqrt($i);
$i=$i+1;
}[/php]

[php]for ($i=1; $i<100000; $i+=1)
{
$sqrt[]=sqrt($i);
} [/php]

Autor:  Chaosmaker [ Sa 11 Nov, 2006 11:30 ]
Betreff des Beitrags: 

Natürlich die For-Schleife, da die nun mal für sowas optimiert ist.
Kann man aber auch ganz einfach testen, indem man mal vor- und hinterher die Zeit nimmt... das zeigt dann nämlich z.B. bei mir, daß die For-Schleife 35% schneller ist als die While-Schleife (schwankt je nach Serverlast aber recht stark).

//edit: Ein Test mit je 101 ;) abwechselnden Durchläufen beider (recht zeitintensiver) Schleifen ergibt auf einem durchschnittlich belasteten Server immerhin noch eine Zeit von gut 45 Sekunden für For und gut 50 Sekunden für While.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/