Agiliza tus scripts Php

Por el 1 de enero de 2007

en: Programacion

A menudo cuando un desarrollador comienza a programar en Php, se siente que ha encontrado la herramienta perfecta para el rápido desarrollo de sitios webs dinámicos, incluso tiempo atras en el que que las características del lenguaje y la cantidad de funciones eran más escasas.

De un tiempo a esta parte el lenguaje a añadido extensiones y una gran popularidad. Desafortunadamente esto hace que para nuevos programadores sea mas dificil comprender algunos conceptos de este lenguaje y cometer numerosos errores de optimización, muchos de ellos son muy obvios pero no por ello dejan de ser importantes por la cantidad de veces en los que podemos incurrir dentro de un mismo script.

Veamos algunos de los más comunes y la explicación de porqué realentizan la ejecución de nuestro script.

Código lento (No recomendado) Código rápìdo (Recomendado) Explicación
$i++; ++$i; Ninguna razón
$i += 1; ++$i; Ninguna razón
rand($min,$max); mt_rand($min,$max); mt_rand es matemáticamente más veloz
$i = 0;
while($array[$i]){
        ++$i;
}
$i = 0;
$count = count($array);
while($i < $count){
        ++$i;
}
Probar si un array existe es más lento que probar que una variable es menor que otra
print ‘algo’; echo ‘algo’; echo no devuelve nada por el contrario print si lo hace
ob_start();
echo ‘algo’;
ob_end_flush();
ob_start();
print ‘algo’;
ob_end_flush();
echo no devuelve nada, print si lo hace y por lo tanto haciendo el echo se debe de evaluar dos veces
echo ‘algo (HTML, con etiquetas php)’; algo (HTML, con etiquetas php) Php es más lento que la salida directa en HTML
include(‘output/contain_no_php’); readfile(‘output/contain_no_php’); readfile devuelve directamente la salida de un fichero por el contrario include debe de evaluarlo por dos veces
echo “$variable cadena “; echo $variable.’cadena’; Las comillas simples no evaluan el contenido sin embargo las dobles comillas si lo hacen por lo que realentiza la ejecución del script
UNA_CONSTANTE; $una_variable; Ninguna razón
constant(‘UNA_CONSTANTE’); UNA_CONSTANTE; Ninguna razón
pi(); M_PI; Php crea una constante más rápido que el tiempo que tarda en calcular una función matemática, aplicar a todas aquellas constantes matemáticas existentes en Php
if($numero<0){
        $numero *= -1;
}

abs($numero); Siempre utilizar una función existente en Php antes de crearla por nosotros mismos
pow($x , $exp) + pow($x , $exp – 1);
$a*$b+$a*$c+$a*$d;
($x + 1) * pow($x , $exp – 1);
$a*($b+$c+$d);
Las operaciones en formato expandido son habitualmente más lentas
if($a == $b)

if($a === $b)

La triple = no necesita convertir los tipos de datos
pow($x, 0.5); sqrt($x); Ninguna razón
1/2;

0.5;

Php realiza la división entre 1 y 2 mientras por el contrario el segundo caso es directamente el resultado y no necesita ser procesado
if($a == 30); if(30 == $a); El segundo caso nos devolverá un error en caso de que hayamos cometido un error tipográfico del tipo ‘=’ en vez de ‘==’ , por lo tanto es mejor esta opción ya que podremos encontrar el error fácilmente

Enlaces Relacionados

Generar passwords accesibles con Php
Codigo Fuente del generador de passwords en PHP
Ejemplo de ejecución del script
PHP y MySql una estrecha relación
5 cosas que no sabías hacer con PHP
Generar documentos OpenOffice con PHP
Nueva versión de Notepad++
Hola Mundo!
Identificar las consultas más lentas de MySql
Crea sencillas gráficas con MySql
Programar un script PHP para saber quién está en línea
Consejos para optimizar PHP
Editando en Opera páginas web en tiempo real

Dejar un comentario