ho profilato per, mentre e do-while loop con qualcosa di semplice:do-while è il loop più veloce in php?
while ($var < 1000000) {
++$var;
}
do {
++$var;
} while ($var < 1000000);
for ($var = 0; $var < 1000000; ++$var) {
//do nothing
}
confrontando microtime() prima e dopo i cicli.
Il ciclo di do-while è di gran lunga il ciclo più veloce. do-mentre è in realtà più veloce di mentre di quasi la metà. So che sono per scopi diversi (mentre controlla la condizione prima che il ciclo venga eseguito e do-mentre eseguito almeno una volta).
So che il consenso generale è che mentre i loop sono disapprovati e lo fanno - mentre ancora di più.
La mia domanda è perché? Considerando quanti loop for sono usati nelle applicazioni PHP, non dovrebbe essere usato più do-mentre? Anche con un se l'istruzione verifica una condizione prima dell'esecuzione del ciclo, l'aumento delle prestazioni è considerevole.
La mia risposta attualmente accettata è che la leggibilità del codice è il sospetto.
È possibile pubblicare i risultati del benchmarking? – bot403
Non ho mai visto questo consenso sul fatto che i loop siano cattivi. Sono uno strumento nel toolkit PHP, come qualsiasi altro. –
Chi si acciglia mentre si avvicina? Usare solo la metà del tempo sembra molto, ma dovresti misurare il tempo reale che stai salvando. Stai salvando la metà del nulla. – martinstoeckli