Web BizarroWeb Bizarro

Suscríbete a nuestro Newsletter

X

Únete a nuestra lista de correos para recibir semanalmente actualizaciones de nuestro contenido.

Hacer código php más rápido

Hacer código php más rápido 05.FEB.14

Alvaro José Rios Ch
Fundador WebBizarro

Cuando tenemos que hacer un sitio web con php que maneje grandes cantidades de datos debemos tener en cuenta cada milisegundo que haga más rápida nuestra aplicación, cuando tenemos un sitio con una alta carga de tráfico es prioritario tener un óptimo desempeño de la aplicación.

Usar echo en vez de print.

echo "hola"; // Más rápido
print "hola";

Evitar concatenar texto innecesariamente, es mejor realizar dos salidas de texto con dos echos que concatenar las cadenas de texto.

echo  "Hola "; echo $usuario; // Más rápido
echo "Hola ".$usuario;

Saber si una cadena de texto esta vacía es más rápido usando la función empty que usar strlen para saber si longitud es 0.

if ( empty($cadena) ) echo "vacía" // Más rápido
if (strlen($cadena) == 0 ) echo "vacía"

Sustituir texto con strtr es más rápido que con str_replace o preg_replace

$salida = strtr("abd","d","c"); // Más rápida
$salida = str_replace("d","c","abd");
$salida = preg_replace("/d/","c","abd");

strpos es mucho más rápida para saber si una cadena esta contenida en otra y ocupa menos memoria que strstr

if(strpos("Hola","o")!==false) echo "sí"; // Más rápida
$esta_contenida = strstr("Hola","o");
if(!empty($esta_contenida)) echo "sí";

Es más rápido y eficiente en memoria trabajar con variables locales dentro de una función que con una variable de instancia de un objeto, declarada como global o sin definir.

class objeto {
    private $c;
    public function __Construct() {
        $this->c=0;
    }
    public function prueba() {
        // Inicialización
        global $a;
        $b = 0;
        // Incremento
        $a++;
        $b++;     // Más rápida
        $this->c++;
        $d++;
    }
}

Es más rápido calcular la longitud de un array antes de recorrerlo que hacerle en el bucle ya que el cálculo de count se realiza tantas veces como posiciones tenga el array.

// Más rápido
$icount = count($lista);
for($i=0;$i<$icount;$i++) {
    ...
}
for($i=0;$i<count($lista);$i++) {
    ...
}

Las funciones incluidas en PHP siempre serán mucho más rápidas que las que podamos hacer nosotros

Es más rápido hacer uso de include o require que include_once o require_once.

Una función declarada en un objeto hijo es más rápida que una función heredada de un objeto padre.

Cuando tenemos que hacer múltiples consultas SQL que terminen siendo pesadas, es mejor realizar el procesamiento de ordenación mediante la función usort o similares que mediante SQL.