PHP for with increment $i++ vs ++$i (Benchmark)

Vamos a probar como es mas rapido un Bucle for si usamos un post-incremento ($i++) o un pre-incremento (++$i).

Bucle for con Post-incremento:

Primero copia el valor de $i en una variable temporal, luego le aumenta uno y después retorna el valor temporal.

//Forma larga 
$y = $y + 1; 
$x = $y;  

//Forma corta 
$i++

Quedando así:

for ($i = 0; $i < 10; $i++){};

Bucle for con Pre-incremento:

Primero aumenta en uno el valor de $i y retorna este valor de la variable.

//Forma larga
$x = $y; 
$y = $y + 1;  

//Forma corta 
++$i

Quedando así:

for ($i = 0; $i < 10; ++$i){};

Haciendo un bucle for de 1 000 000 interacciones:

//PHP 7.4.0
For $i++: 0.0085721015930176s
For ++$i: 0.0050549507141113s

//PHP 5.6.29
For $i++: 0.029861927032471s
For ++$i: 0.025825977325439s

//PHP 4.4.9
For $i++: 0.186533s
For ++$i: 0.165582s

Conclusion:

Al parecer un Bucle con un pre-incremento es un poco mas rapido que uno con Post-incremento.

Tambien se puede ver como las versiones PHP mas modernas ofrecen mejores resultados.


Escríbeme un comentario si este contenido te fue útil o si te quedó alguna duda, así podré mejorarlo. Gracias!