Discussion:
PHP: Mitos o realidades?
(demasiado antiguo para responder)
+mArkO+
2008-06-21 23:29:30 UTC
Permalink
Esto lo encontre en una web
http://informatica-practica.net/solocodigo/index.php/2007/10/16/trucos-para-optimizacion-de-codigo-en-php

===================================
TRUCOS PARA OPTIMIZAR EL CODIGO PHP
===================================

1)Si un método puede ser static, decláralo como static.

2)echo es más rápido que print.

3)Utiliza múltiples echoŽs en lugar de concatenar cadenas.

4)Fija el valor máximo para los bucles antes del loop, y no estando ya
dentro de él.

5)Utiliza unset para las variables que ya no van a ser usadas, especialmente
arrays cargados, de forma que liberes memoria.

6)require_once() es demasiado lenta y poco rentable.

7)Utiliza rutas absolutas en includes y requires, reduciendo
considerablemente el tiempo de carga.

8)Si necesitas saber cuando comenzó a ejecutarse un script, $_SERVER['REQUEST_TIME']
es preferible a time().

9)str_replace es mucho más rápida que preg_replace, pero strtr es aún más
rápida que str_replace.

10)Es mejor utilizar una estructura condicional switch-case que múltiples
if-else anidados.

11)Omitir errores mediante el uso de @ es bastante lento.

12)Activa en Apache el modo mod_deflate.

13)Cierra la conexión con la base de datos cuando ya no sea necesaria.

14)$row['id'] es 7 veces más rápido que $row[id].

15)No utilices funciones dentro de bucles, como por ejemplo en ($x=0; $x <
count($array); $x) La función count() es ejecutada en cada pasadas.

16)Utiliza variables locales. Incrementar una variable gloval es el doble de
lento que hacerlo con una local.

17)Incrementar una propiedad de un objeto (ej. $this->prop++)es 3 veces más
lento que el uso de una variable local.

18)Inicializa las variables. Aunque no es necesario en PHP, incrementar una
variable no declarada es entre 9 y 10 veces más lento que hacerlo con una ya
declarada.

19)Utiliza la comilla simple ' en lugar de la doble comilla " ya que PHP no
busca variables entre comillas simples, y el tiempo de carga puede verse
reducido.

20)No utilices scripts PHP si puedes usar HTML estático, ya que éste útlimo
carga entre 9 y 10 veces más rápido.

21)Instala algún sistema de caché para que tus scripts no deban ser
ejecutados cada vez que se carga una página. Éste punto reduce
considerablemente el tiempo de carga de una página y el uso de CPU del
servidor.

22)++$i es más rápido que $i++ en PHP.

23)No utilices todas las estructuras como clases, el uso de arrays en muchos
casos también es adecuado.

24)Trata de hacer tu código reutilizable y evitar redundancias.

25)Puedes utilizar compresión Gzip para aumentar la velocidad de
transferencia.
Sebastian E. Castro Avila
2008-06-23 23:46:16 UTC
Permalink
In chile.comp.unix +mArkO+ <***@porta.com> wrote:
m> Esto lo encontre en una web

m> ===================================
m> TRUCOS PARA OPTIMIZAR EL CODIGO PHP
m> ===================================

m> 1)Si un m?todo puede ser static, decl?ralo como static.

m> 2)echo es m?s r?pido que print.

Ese lo habia leido.

m> 3)Utiliza m?ltiples echo?s en lugar de concatenar cadenas.

m> 4)Fija el valor m?ximo para los bucles antes del loop, y no estando ya
m> dentro de ?l.

m> 5)Utiliza unset para las variables que ya no van a ser usadas,
m> especialmente arrays cargados, de forma que liberes memoria.

Esto es cierto en cualquier lenguaje, pero a menos que tengas centenas
de variables con mucho contenido y un script que corre miles de veces
por minuto, no lo vas a notar.

m> 6)require_once() es demasiado lenta y poco rentable.

m> 7)Utiliza rutas absolutas en includes y requires, reduciendo
m> considerablemente el tiempo de carga.

m> 8)Si necesitas saber cuando comenz? a ejecutarse un script,
m> $_SERVER['REQUEST_TIME'] es preferible a time().

Esto es cierto porque time es una llamada a sistema y REQUEST_TIME es
una variable que ya esta en la memoria: te ahorras algunas
instrucciones.

m> 9)str_replace es mucho m?s r?pida que preg_replace, pero strtr es a?n m?s
m> r?pida que str_replace.

Nada nuevo, en Perl tambien se recomienda evitar los reemplazos via
regex por rendimiento.

m> 10)Es mejor utilizar una estructura condicional switch-case que m?ltiples
m> if-else anidados.

m> 11)Omitir errores mediante el uso de @ es bastante lento.

m> 12)Activa en Apache el modo mod_deflate.

m> 13)Cierra la conexi?n con la base de datos cuando ya no sea necesaria.

m> 14)$row['id'] es 7 veces m?s r?pido que $row[id].

m> 15)No utilices funciones dentro de bucles, como por ejemplo en ($x=0; $x <
m> count($array); $x) La funci?n count() es ejecutada en cada pasadas.

m> 16)Utiliza variables locales. Incrementar una variable gloval es el
m> doble de lento que hacerlo con una local.

m> 17)Incrementar una propiedad de un objeto (ej. $this->prop++)es 3
m> veces m?s lento que el uso de una variable local.

Esto es cierto en C++ tambien.

m> 18)Inicializa las variables. Aunque no es necesario en PHP,
m> incrementar una variable no declarada es entre 9 y 10 veces m?s lento
m> que hacerlo con una ya declarada.

m> 19)Utiliza la comilla simple ' en lugar de la doble comilla " ya que
m> PHP no busca variables entre comillas simples, y el tiempo de carga
m> puede verse reducido.

m> 20)No utilices scripts PHP si puedes usar HTML est?tico, ya que ?ste
m> ?tlimo carga entre 9 y 10 veces m?s r?pido.

m> 21)Instala alg?n sistema de cach? para que tus scripts no deban ser
m> ejecutados cada vez que se carga una p?gina. ?ste punto reduce
m> considerablemente el tiempo de carga de una p?gina y el uso de CPU del
m> servidor.

Proxy reverso le llaman algunos.

m> 22)++$i es m?s r?pido que $i++ en PHP.

Esto es cierto tambien en C++ (y se nota si haces millones de sumas por
segundo), debido a que $i++ requiere hacer una copia de $i, la otra
actua sobre una referencia.

m> 23)No utilices todas las estructuras como clases, el uso de arrays en
m> muchos casos tambi?n es adecuado.

m> 24)Trata de hacer tu c?digo reutilizable y evitar redundancias.

Esto es cierto en cualquier lenguaje y no solo por 'performance' sino
para ahorrar horas hombre y hacer el desarrollo mas profesional.

m> 25)Puedes utilizar compresi?n Gzip para aumentar la velocidad de
m> transferencia.

Esta no es siempre conveniente: si tus scripts generan un output
peque~no, tomas mas tiempo y recursos en comprimir la salida. Esto es
util cuando la cantidad de datos a transferir es alta, no es llegar y
utilizar.

Saludos
--
Sebastian E. Castro Avila ReQuiN ***@dcc.uchile.cl
Loading...