Desarrollando con symfony

Ricardo Mun~oz A. rmunoz en pjud.cl
Mie Jun 27 09:35:48 CLT 2007


Rodrigo Fuentealba wrote:
> El 26/06/07, Ricardo Mun~oz A. <rmunoz en pjud.cl> escribió:
>> Rodrigo Fuentealba wrote:
>> > El 26/06/07, Ricardo Mun~oz A. <rmunoz en pjud.cl> escribió:
>> >
>> > Hay varias optimizaciones interesantes que he visto en Symfony y que
>> > no he visto en CakePHP.
>>
>> cuales?
>
> Una sola muestra, y estamos hilando fino altiro (Cristian, te la dedico):
>
> Archivo cake/libs/security.php; línea 141:
> for($i = 0; $i < strlen($text); $i++);
>
> en cualquier ciclo for en Symfony, hay algo así:
> for($i = 0, $stringlength = strlen($text); $i < $stringlength; $i++)

falso!

revisa por ejemplo el archivo lib/helper/UrlHelper.php, linea 421:

for ($i = 0; $i < strlen($text); $i++)

o tambien por ejemplo en lib/util/sfFinder.class.php, linea 579:

for ($i = 0; $i < strlen($glob); $i++)

etc.

> ¿qué se gana? no tienes que calcular strlen cada vez que vas a comparar.

es una buena idea / optimizacion no usar ninguna funcion al comparar, 
pero ambos frameworks (no) lo hacen, por lo tanto tu ejemplo no es 
valido... ;)

> Mira:

[...]

> Resultado:
>
> darkprox en darkprox:~$ php calculo.php
> TESTEANDO
> Con un FOR simple, me demoro 0.014724969863892 segundos
> TESTEANDO
> Con Symfony, me demoro 0.0020818710327148 segundos

nuevamente el ejemplo no sirve porque Symfony (y cualquier framework) es 
mucho mas que simples rutinas, para hacer una comparacion de verdad 
tendrias que ejecutar el framework completo!

-- 
Ricardo Mun~oz A.
Usuario Linux #182825 (counter.li.org)


Más información sobre la lista de distribución PHP