Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

PHP 8: in arrivo la compilazione JIT

Con il rilascio della versione 8 anche PHP verrà dotato del supporto alla compilazione JIT (Just-in-Time)
PHP 8: in arrivo la compilazione JIT
Con il rilascio della versione 8 anche PHP verrà dotato del supporto alla compilazione JIT (Just-in-Time)
Link copiato negli appunti

PHP 8, prossima major release del noto linguaggio per lo sviluppo server side creato da Rasmus Lerdorf, dovrebbe essere disponibile entro la fine dell'anno corrente. Tra le principali novità di questo rilascio sarà presente anche l'atteso supporto per la compilazione JIT (Just-in-Time) già confermata, tra gli altri, dal developer Joe Watkins.

A livello pratico possiamo definire JIT come una modalità che permette di eseguire la compilazione a runtime, quindi durante il funzionamento stesso di un'applicazione. Per questo motivo prende anche il nome di "traduzione dinamica".

PHP e compilazione JIT

Nel caso specifico di PHP è necessario fare riferimento alla macchina virtuale Zend VM e agli opcode (operation code), cioè le porzioni di un'istruzione in linguaggio macchina che specificano le operazione da eseguire.

Gli script presenti nei sorgenti vengono appunto compilati in opcode che sono elementi di basso livello, una caratteristica che li rende più performanti quando si deve effettuare una conversione in codice macchina e permette di abbreviare i tempi necessari per la compilazione. Ciò permette di eseguire gli opcode tramite Zend VM direttamente in fase di esecuzione.

E' inoltre importante tenere presente che il supporto a JIT è stato concepito per essere una parte indipendente di OPcache, il sistema che consente di memorizzare gli opcode in cache, ne consegue che la compilazione avrà luogo solo nel momento in cui richiesta. Il codice macchina prodotto è invece dipendente dall'architettura di riferimento, cosa che permette di ospitarlo direttamente a livello di CPU e non di Virtual Machine.

Non solo per il Web

Ma quali sono le implicazioni di una versione di PHP che, dopo anni di attesa, permetterà di sfruttare le compilazione JIT? Per molti versi parliamo di una feature dall'impatto rivoluzionario perché consentirà di utilizzare il linguaggio anche in contesti diversi da quelli Web based che, fino a ora, sono stati l'ambiente di riferimento per il linguaggio. Inoltre, questa nuova modalità dovrebbe rivelarsi ideale per tutti i progetti che prevedono un uso intensivo delle risorse fornite dai processori e, in generale, in tutti gli scenari in cui le performance devono essere superiori a quelle che PHP può garantire attualmente.

Non solo vantaggi

L'implementazione di JIT per PHP è strutturalmente molto più semplice rispetto a quelle che possiamo ritrovare nell'interprete Python PyPy, in V8 per JavaScript e nella macchina virtuale HHVM. Soprattutto in fase iniziale gli sviluppatori PHP e gli amministratori di sistema dovranno però fronteggiare una maggiore complessità, procedure di manutenzione più ostiche e maggiori difficoltà in fase di debugging.

Via PHP RFC: JIT

Ti consigliamo anche