Dal mio punto di vista, sia PHP che Java hanno una struttura simile. All'inizio scrivi del codice di alto livello, che poi deve essere tradotto in un formato di codice più semplice per essere eseguito da una VM. Una differenza è che PHP lavora direttamente dai file del codice sorgente, mentre Java memorizza il bytecode in file .class, da cui la VM può caricarli.Perché PHP utilizza le cache opcode mentre Java compila i file bytecode?
Al giorno d'oggi crescono i requisiti per l'esecuzione rapida di PHP, che inducono le persone a credere che sarebbe meglio lavorare direttamente con gli opcode e non passare attraverso la fase di compilazione ogni volta che un utente raggiunge un file.
La soluzione sembra essere a load of so called Accelerators, che fondamentalmente memorizzare i risultati compilati nella cache e quindi utilizzare i codici operativi memorizzati nella cache invece di compilare di nuovo.
Un altro approccio, fatto da Facebook, è il codice completely compile the PHP in un'altra lingua.
Quindi la mia domanda è: perché nessuno nel mondo PHP fa ciò che fa Java? Ci sono elementi dinamici che devono essere ricompilati ogni volta o qualcosa del genere? Altrimenti sarebbe davvero più intelligente compilare tutto quando il codice andrà in produzione e poi lavorarci sopra.
Altalene e rotatorie. Uno produce runtime più veloci, l'altro può essere implementato rapidamente. – GordonM