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/
Entrada original: My blog: Syntax Error