Foros del Web » Programando para Internet » PHP »

Curiosidades del rendimiento de PHP

Estas en el tema de Curiosidades del rendimiento de PHP en el foro de PHP en Foros del Web. http://www.phpbench.com/ nace como un sitio en el cual su único objetivo es demostrar que no todos los procesos similares de PHP funcionan a la misma ...
  #1 (permalink)  
Antiguo 03/01/2010, 19:35
N4X
 
Fecha de Ingreso: enero-2010
Mensajes: 23
Antigüedad: 14 años, 3 meses
Puntos: 0
Curiosidades del rendimiento de PHP

http://www.phpbench.com/ nace como un sitio en el cual su único objetivo es demostrar que no todos los procesos similares de PHP funcionan a la misma velocidad, podeis visitar la página, pero para aquellos que no les gusta el inglés dejo las partes que me parecieron mas curiosas:


comillas dobles (") contra simples (')

+ 105 % comillas simples (') en una string vacia: $tmp[] = ''';
+ 102 % comillas dobles (") en una string vacia: $tmp[] = "";
+ 100 % simples ('). 20 bytes de texto: $tmp[] = 'aaaaaaaaaaaaaaaaaaaa';
+ 103 % dobles ("). 20 bytes de texto: $tmp[] = "aaaaaaaaaaaaaaaaaaaa";
+ 102 % simples ('). 20 bytes de teto y 3 $: $tmp[] = 'aa $ aaaa $ aaaa $ a';
+ 106 % dobles ("). 20 bytes de teto y 3 $: $tmp[] = "aa $ aaaa $ aaaa $ a";
+ 100 % dobles ("). . 20 bytes de teto y 3 \$: $tmp[] = 'aa \$ aaaa \$ aaaa \$ a';

Conclusión: en este caso podemos llegar a la conclusión de que ambas formas no suponen una gran diferencia de velocidades y que con las comillas dobles, escapar los carácteres como $ (\$) supone un ahorro de tiempo, mínimo eso si.

foreach() vs for() vs while(list() = each())

+ 100 % foreach($aHash as $val);
+ 657 % while(list($val)) = each($aHash);
+ 119 % foreach($aHash as $key => $val);
+ 688 % while(list($key,$val)) = each($aHash));
+ 238 % foreach($aHash as $key => $val) $tmp[] = $aHash[$key];
+ 757 % while(list($key)) = each($aHash)) $tmp[] = $aHash[$key];
+ 300 % Get Key-/value-array: foreach($aHash as $key[]=>$val[]);
+ 329 % Get Key-/value-array: array_keys() / array_values()
+ 381 % $key = array_keys($aHash); $size = sizeOf($key); for($i=0; $i < $size; $i++) $tmp[] = $aHash[$key[$i]];

Conclusión: La conclusión mas obvia que podemos sacar es que foreach() es mas rapido que while() y
for()


acabo con este que me pareció muy muy curioso:

Test del bucle For

El test se orienta a, si el rendimiento cambia al calcular el tamaño de una variable antes del for o en el momento que declaramos el for.

Ejemplos:
antes del for: "for ($i=0; $i<$tamaño; $i++)"
en el for: "for ($i=0; $i<sizeOf($x); $i++)"

+ 100 % Antes del for con count()
+ 50058 % En el for con count()
+ 100 % Antes del for con sizeof()
+ 50421 % En el for con sizeof()

Conclusión: este es quizá el ejemplo mas claro a la hora de programar nuestras aplicaciones, hemos de tener muy en cuenta que el tamaño deveriamos calcularlo antes de declarar el for() para así agilizar sustancialmente nuestra aplicación.

Sin mas os animos a visitar la página del autor: http://www.phpbench.com/

Última edición por jam1138; 03/01/2010 a las 21:13
  #2 (permalink)  
Antiguo 03/01/2010, 21:27
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: Curiosidades del rendimiento de PHP

Muy muy buen aporta, es bastante bueno saber este tipo de cosas cuando estas algo jodido con los recursos y cuando no, claro.

Lo que si, no entendi muy bien a que hacian referecia el "+ 100 %",etc... Digamos... 100% mas rápido o que?

Gracias.
  #3 (permalink)  
Antiguo 03/01/2010, 21:40
 
Fecha de Ingreso: enero-2008
Mensajes: 381
Antigüedad: 16 años, 3 meses
Puntos: 19
Respuesta: Curiosidades del rendimiento de PHP

Es interesante, creia que las comillas dobles consumian mas.

100% es la referencia, es decir el valor mas bajo y apartir de ahi los otros valores son "proporcionales" a ese valor.
  #4 (permalink)  
Antiguo 04/01/2010, 01:46
Avatar de Sergiorelativo  
Fecha de Ingreso: diciembre-2009
Ubicación: Cadiz
Mensajes: 259
Antigüedad: 14 años, 4 meses
Puntos: 6
Respuesta: Curiosidades del rendimiento de PHP

Interesante aporte. Hace tiempo que definí mi "estilo" de programación en base a datos de rendimiento como estos y me ha ido muy bien, le hecharé un vistazo al sitio a ver si saco más info. ¡Saludos!

Etiquetas: curiosidades, rendimiento
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:29.