Nume Tutorial:Best Practice - Foreach
Descriere:Best Practice - Foreach
Download:Nu necesita
Autor:Anonim
Sursa (Link-ul oficial):
Propria parere:Util.
Tutorialul:
Citeam zilele tecute un articol care compară diversele metode prin care se poate parcurge un vector asociativ. În mod normal, un foreach simplu care ne-ar furniza cheia şi valoarea aflată la acel index, ar fi de ajuns la fel şi soluţia unui for cu indice de la zero la numărul maxim de elemente, în cazul în care cheile vectorului ar fi numere întregi. Cu toate acestea însă, în cazul unui volum mare de date utilizarea unui foreach, uşoară şi comodă, poate duce la un timp de execuţie foarte mare
Cod:
Exemplul de mai sus, are timp de execuţie 409 µs pe un vector de 100 de elemente.
Cod:
Deşi cel de-al 2-lea exemplu presupune mai multe opreaţii decât primul, timpul de execuţie în condiţiile în care furnizăm acelaşi vector de 100 de elemente este de 38 µs … de 10 ori mai puţin.
Descriere:Best Practice - Foreach
Download:Nu necesita
Autor:Anonim
Sursa (Link-ul oficial):
Tutorialul:
Citeam zilele tecute un articol care compară diversele metode prin care se poate parcurge un vector asociativ. În mod normal, un foreach simplu care ne-ar furniza cheia şi valoarea aflată la acel index, ar fi de ajuns la fel şi soluţia unui for cu indice de la zero la numărul maxim de elemente, în cazul în care cheile vectorului ar fi numere întregi. Cu toate acestea însă, în cazul unui volum mare de date utilizarea unui foreach, uşoară şi comodă, poate duce la un timp de execuţie foarte mare
Cod:
Code:
reset($aHash);
foreach($aHash as $key => $val) {
$aHash[$key] .= "a";
}
Exemplul de mai sus, are timp de execuţie 409 µs pe un vector de 100 de elemente.
Cod:
Code:
$key = array_keys($aHash);
$size = sizeOf($key);
for ($i=0; $i<$size; $i++) {
$aHash[$key[$i]] .= "a";
}
Deşi cel de-al 2-lea exemplu presupune mai multe opreaţii decât primul, timpul de execuţie în condiţiile în care furnizăm acelaşi vector de 100 de elemente este de 38 µs … de 10 ori mai puţin.