debug_mode=ON

Buscar en

 
 

Curiosidades del rendimiento en PHP

Escrito por nax_hh hace 6 meses bajo Dominio Público
746 visitas. Etiquetas: benchmark, php, rendimiento

PHP Benchmark 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: arraykeys() / arrayvalues()
  • 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 'menor que' $tamaño; $i++)"

en el for: "for ($i=0; $i 'menor que' 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/
pd. dejo el artículo original del blog también: http://nax-syntaxerror.blogspot.com/2010/01/curiosidades-en-cuanto-al-rendimiento.html

 

¡Votalo! 5 votos
¡Compártelo!

        

&nbps;

&nbps;

nax_hh

Sobre nax_hh

<?php $about = 'Nax es un programador, mayormente autodidacta, con estudios de FP I ESI \n Programa en PHP, JS y de momento es todo'; $curro = 'Buscando curro a media jornada en alguna empresa que tenga la amabilidad de contratar a un titulado en FP I (está dificil)'; $proyecto = 'con un proyecto actual entre manos que le saca todo el tiempo disponible, aún asi se pasa por aqui a menudo'; echo $about . "\n" . $curro . ' ' . $proyecto; die();

 
Regístrate o haz login para participar.
¿Todavía no conoces debugmodeon?
debugmodeon es la red social para profesionales de la informática
descubre debugmodeon
 

3 comentarios en "Curiosidades del rendimiento en PHP"

csalazart
csalazart escribió
hace 6 meses

#1   

A ta bueno muy curioso si y util a la hora de realizar ajustes que mejoren el rendimiemto en sistemas criticos o con poco ancho de banda o gran demanda segun es muchos caasos que se nos presentan en mi caso :P

 

Slash
Slash escribió
hace 6 meses

#2   

Pues si que hay diferencia en el for... muy buen artículo, me ha servido!

 

LuisAngel
LuisAngel escribió
hace 3 meses

#3   

no pense que esto pudiera tener tanto peso cuando programamos en PHP increible, eso si lo añadimos a velocidad y rendimiento de nuestro servidor ufff,, por eso ahi que optimizar muy bien nuestro codigo

 
 
 
 

© Copyright 2008-2009 debug_mode=ON | Aviso legal | Contacto | FAQ | ¿Quiénes somos? |