sábado, noviembre 20, 2010

Symfony Vs. KumbiaPHP - Parte 1

Voy a elaborar una serie de artículos(en tanto el tiempo me lo permita) comentando mi experiencia en el desarrollo de una aplicación web usando Symfony y la misma aplicación usando KumbiaPHP.

Lo primero fue descargar ambos frameworks, de Symfony descargué la versión 1.4.8 y de KumbiaPHP la versión 1 beta2 (no oficial).




Para instalarlos, ambos frameworks solo es cuestión de extraer su contenido en alguna carpeta. Para crear la primera aplicación en Symfony debemos ejecutar el comando:
$ php symfony generate:app frontend


Habiendo creado previamente el proyecto con el comando:
$ php lib/vendor/symfony/data/bin/symfony generate:project miproyecto --orm=Propel



Algo muy diferente sucede con KumbiaPHP ya que con solo extraer su contenido ya tenemos la estructura necesaria para nuestro proyecto y la primera aplicación creada. Para crear una nueva aplicación en KumbiaPHP no es necesario usar comando especificos como en Symfony, simplemente con copiar la carpeta default y pegarla en el mismo directorio ya tienes una aplicación nueva.



Si se fijaron he subrayado en ambas capturas de pantalla la memoria usada y el tiempo de carga, recuerden que no he optimizado el servidor. KumbiaPHP es más rápido y utiliza menos memoria. En tiempo...



0.099 de Symfony - 0.0323 de KumbiaPHP = 0.0667 ms más rápido KumbiaPHP, obviamente esta prueba no es del todo exacta y fueron tiempos tomados al azar. Las pruebas más estrictas se las dejo a los expertos.

En cuanto a memoria notamos el exagerado uso que tiene Symfony con 4864.0 KB contra 390 KB de KumabiPHP, en la siguiente tabla resumiré los datos:

DatoKumbiaPHPSymfonyDiferencia% Diferencia
Tiempo (ms)
0.03230.09900.0667
305
Memoria (KB)
390.0
4864.0
4474
1247

Para este caso podemos concluir que KumbiaPHP es 305% más rápido y 1247% más eficiente en el uso de memoria que Symfony. Y al momento de crear una nueva aplicación en Symfony es tedioso, en KumbiaPHP fácil.

Hasta aquí dejo la primera parte. Espero sus comentarios :)