Desde mi punto de vista, tanto PHP como Java tienen una estructura similar. Al principio, escribe un código de alto nivel, que luego debe traducirse en un formato de código más simple para que lo ejecute una máquina virtual. Una diferencia es que PHP trabaja directamente desde los archivos de código fuente, mientras que Java almacena el bytecode en archivos .class, desde donde la VM puede cargarlos.¿Por qué PHP usa cachés de códigos de operación mientras que Java los compila a archivos de códigos de bytes?
En la actualidad crecen los requisitos para una ejecución rápida de PHP, lo que lleva a las personas a pensar que sería mejor trabajar directamente con los códigos de operación y no realizar el paso de compilación cada vez que un usuario acceda a un archivo.
La solución parece ser a load of so called Accelerators, que básicamente almacena los resultados compilados en caché y luego utiliza los códigos de operación en caché en lugar de compilar de nuevo.
Otro enfoque, hecho por Facebook, es el código completely compile the PHP a un idioma diferente.
Así que mi pregunta es, ¿por qué nadie en el mundo de PHP hace lo que hace Java? ¿Hay algunos elementos dinámicos que realmente necesitan ser recompilados cada vez o algo así? De lo contrario, sería más inteligente compilar todo cuando el código entre en producción y luego simplemente trabaje con eso.
Columpios y rotondas. Uno produce tiempos de ejecución más rápidos, el otro puede implementarse rápidamente. – GordonM