A blog about data, information and IT, by Mario Alberich

Jan 02
2014

#hhvm en #magento y #symfony

A partir de lo comentado en el anterior artículo sobre HHVM, me quedaba por aclarar su funcionamiento con la herramienta PHP más popular para crear sitios e-commerce: Magento.

Magento es uno de los casos más evidentes de la lentitud de PHP para aplicaciones medianamente grandes. El caso de Magento es el de una aplicación que utiliza varios miles de clases, con una estructura de directorios en los que se buscan estas clases, y en un proceso de interpretación del código que provoca una ejecución lenta. A pesar de usar PHP de forma intensiva (si no lo haces, puedes morir en el intento), Magento es lento. Y parte de la responsabilidad de ese hecho es de PHP.

Así que una vez aceptado el problema, HHVM puede ser la solución. ¿Cómo funciona HHVM con Magento? Pues la respuesta: no funcionaba. HHVM no incluye de serie algunas funcionalidades necesarias para Magento.

Adaptar HHVM, adaptar Magento


Mejorar el rendimiento de Magento es un objetivo común en todo el ecosistema de Magento, por eso no se hizo de esperar un análisis sobre el proceso de adaptación de HHVM a Magento, y un poco más tarde una solución publicada en Github por Matheus Zeiss para poder ejecutar un Magento básico sobre HHVM.  Con esta implementación, podemos ver una muestra de importación de productos en Magento usando HHVM, que tiene una pinta impresionante:

magento-import-test-hhvm from derp on Vimeo.

También podemos ver unas instrucciones de Cyrill Schumacher en Github para ejecutar Magento Enterprise Edition con HHVM, o el proceso de reindexación ejecutado por Daniël Sloof y mostrado en una captura de pantalla en su cuenta de Twitter.

¿Y ya está? ¿Magento funciona sobre HHVM? Para nada. Cada nuevo módulo que se instale en Magento deberá ser probado para que funcione sobre HHVM, y en caso contrario modificar su código. O eso, o bien esperar a que HHVM vaya incorporando esas funcionalidades.

Symfony


Symfony, el Framework PHP que tiene más estrellas en GitHub, es otro de los agraciados con la mejora de rendimiento. Además de las mejoras publicadas en los tests del blog de HHVM, hay otras pruebas más básicas realizadas con ApacheBench. Digna de mención es esta presentación en Slideshare sobre HHVM y Symfony:

Tags

gestión documental 10     Recuperación información 11     Linux 7     Usabilidad 5     open source 3     Tagging 12     lógica borrosa 2     fuentes de información 12     Google 6     off-topic 6     spam 2     grafos 6     Web social 11     modelización 12     Productividad 11     buscadores 2     utilidades 17     Profesionales 9     SEO 5     estándares 3     veracidad 3     relevancia 2     lingüística 2     PLN 2     lenguajes documentales 2     apis-mashups 3     reseñas 7     Flash 7     Gráficos estadísticos 13     Publicidad 3     Innovación 5     muestreo estadístico 9     PHP 14     internet 2     testeo 12     desarrollo 3     visualizacion 36     javascript 16     datos abiertos 9     elecciones 2     simulación 5     html5 7     phing 9     ssh 2     seguridad 3     indicadores 2     demografía 3     media 2     algoritmos 7     shell 4     mysql 2     backup 2     big data 6     twitter 2     d3js 11     revealjs 2     metodología 6     data-journalism 6     smartcities 2     NYT 2     privacidad 3     benchmarking 4     recopilaciones 21     magento 5     formacion 2     github 2     HHVM 3     psicología 2     angularjs 3     grep 2     nodejs 5     promises 2     mapreduce 3     crossfilter 2     exploración de datos 2     machine learning 2    

© 2007 and beyond Mario Alberich, licensed under CC-BY-SA unless stated otherwise.