2010-03-18 13 views
6

¿Tendría sentido cambiar a HipHop en lugar de XCache?HipHop en lugar de XCache?

¿Está listo HipHop para horario estelar o deberíamos esperar varios meses antes de implementarlo?

Editar: somos interesantes al probar la configuración en un servidor que ejecuta vBulletin.

Respuesta

22

Déjeme aclarar un error que pueda tener sobre Hiphop y Xcache. XCache funciona al agregar caché Opcode a la implementación de PHP de ZEND (como APC y amigos), mientras que HipHop de Facebook permite que el código PHP se transforme en código C++ y luego se compile usando g ++. No es posible ejecutar XCache con HipHop ya que HipHop no depende del intérprete Zend (y ni siquiera usa códigos de operación php, ya que está compilado a bytecode luego de haber sido transformado a C++).

Ahora para responder a su pregunta, HipHop se está utilizando en vivo para alojar una gran cantidad de tráfico de Facebook. Facebook no lanzaría este proyecto si no fuera estable, pero dado que es muy nuevo, seguiría siendo cauteloso. HipHop no es solo un parche para el antiguo Zend Interpreter, es una forma completamente diferente de ejecutar el código PHP y probablemente tenga algunos errores.

Una cosa que hizo Facebook para asegurarse de que Hiphop estaba funcionando antes de que cambiaran a ella fue que pudieron configurar pruebas de unidades muy rigurosas de cada posible solicitud en su sitio. De esa manera, si la salida de Hiphop fuera diferente del PHP Zend normal, volverían y depurarían un poco más hasta que todo "funcionara para ellos". El hecho de que "funcione" en la base de código de Facebook no prueba que funcione para usted. Si decides cambiar a HipHop, asegúrate de probarlo bien.

EDIT:

HHVM (nueva versión de VM HPHP) puede ahora eval y create_function. Deben ser iguales para todas/las razones más significativas.

Hay algunas cosas que no son compatibles con HipHop. Quitaron las funciones eval y create_function. También solo admiten PHP 5.2.x por ahora, pero planean agregar soporte para 5.3 "pronto".

+0

Gracias por esta respuesta informativa. ¿Puedes mirar la pregunta sobre la máquina virtual HipHop- http://stackoverflow.com/questions/8697348/facebook-hiphop-virtual-machine-for-php Gracias –

8

Me gusta la idea de HipHop, así que no me malinterpreten aquí, pero hay algo que recordar: HipHop no es para todos. De Sebastian Bergmann:

no es una solución para un problema que enfrenta el 99,9% del PHP implementaciones por ahí

A menos que tenga Facebook tráfico proporción y su cuello de botella es la CPU o la memoria de uso, se' no es probable que vea mucho beneficio (en comparación con xcache, apc, etc.). La base de datos y el acceso al sistema de archivos seguirán siendo tus asesinos.

2

Estoy bastante seguro de que vbulletin 3.x no funcionará con HipHop. El sistema de complementos de VB 3 consta de casi 2000 declaraciones de evaluación distribuidas en todo el código, y eval no es compatible con hiphop.

Probablemente sea solo la punta del iceberg cuando se trata de compilar vbulletin.

Cuestiones relacionadas