He encontrado en varios sitios la discusión sobre qué función de PHP es mejor a la hora de mostrar cosas en pantalla, “Print” o “Echo”. Yo hasta ahora he usado “print” porque debe ser de lo primero que comprendí de php, no tengo ni idea y al ver “print” en un trozo de código supe enseguida para qué servía esa función.
Pero comprobar efectívamente cuál de las dos funciones es más rápida es muy sencillo, basta con imprimir algo en pantalla muchas veces y comprobar con cuál de las dos funciones tarda más. Para ello, PHP tiene una función muy útil llamada “microtime()” que nos devuelve el tiempo actual del sistema en microsegundos.
Así pues, el código para el experimento es este:
<?php
$date_0 = microtime();
for ($i = 1; $i <= 50000; $i++) {
print '. ';
}
$date_1 = microtime ();
$delta = $date_1 - $date_0;
print "<br/>Tiempo invertido = " . $delta;
?>
Es decir, voy a dibujar en pantalla 50.000 (cincuenta mil) veces un “. ” y comprobaré con qué método, “print” o “echo” obtengo mejores marcas. Repetiré cada experimento 5 veces para obtener una medida más fiable:
| Experimento | Echo | |
|---|---|---|
| #1 | 0.004157 | 0.004018 |
| #2 | 0.004255 | 0.004034 |
| #3 | 0.005847 | 0.004038 |
| #4 | 0.004121 | 0.004025 |
| #5 | 0.004127 | 0.004091 |
| Media | 0.004501 | 0.004041 |
Así que, efectívamente, aunque el número de experimentos ha sido pequeño parece ser que “echo” es más rápido “print”. Eso si, la diferencia es tan sólo de 4.6·10E-10 s en dibujar cincuenta mil veces un punto y un espacio.
En resumidas cuentas, poco parece importar a nivel práctico que usemos una u otra función puesto que la diferencia de tiempo en cada llamada vendría a ser en torno de 1/100.000.000.000.000 segundos. Si alguien es capaz de notar la diferencia, que avise porque a mi me parece que se aproxima muchísimo a CERO.





