Archivi tag: hhvm

Migrazione completata

Come avevo avevo detto nel precedente messaggio, mi ero ripromesso di provare a eseguire questo blog su HHVM. Ho quindi dovuto iniziare trasferendomi da un normale hosting condiviso, a una VPS, davvero molto economica…

Chiaramente un infrastruttura davvero ultra aggiornata, infatti ho provveduto a installare HHVM, Nginx 1.5, MariaDB 10. HHVM, rispetto all’hosting dove ero, che non era provvisto di opcache, ha reso il sito una scheggia, tuttavia non ero ancora soddisfatto…

Così ho deciso di abilitare SSL, certamente non per l’alta riservatezza delle informazioni contenute in questo sito, ma poichè è un requesito per poter implementare SPDY, un evoluzione del protocollo HTTP, sviluppata da Google. Questo protocollo permette di ridurre i tempi di caricamento delle pagine.

Ho provveduto anche a rifattorizzare un pò il sito, cercando di risparmiare ovunque kilobyte e limitare al minimo il numero di risorse da caricare, aiutandomi anche con il modulo di Google, Pagespeed, una vera manna, che ottimizza pagine e risorse in tempo reale. Continue reading

Facebook riscrive PHP con HACK e HHVM

HHVMFacebook è probabilmente il più grande sito web a far ampio uso di PHP. Questo è nato come un linguaggio di scripting, per realizzare velocemente e più semplicemente siti web da Rasmus Lerdof nel “lontano” 1995. Caratteristiche di spicco per l’epoca erano l’allocazione dinamica del tipo di variabile e l’assenza di compilazione. È sufficente modificare il file e eseguire la pagina web.

Chiaramente queste, sono caratteristiche che se da un lato rendono più semplice e alla portata di chiunque sviluppare un sito web, dall’altro incidono pesantemente sulle prestazioni. Il motore Zend (cioè l’interprete standard di PHP) deve verificare in ogni uso della variabile il suo tipo, e convertirla nel tipo giusto in base all’impiego. Per quanto il linguaggio di programmazione possa fingere l’assenza dei tipi, (numero, stringa, carattere, array) a livello di esecuzione non è possibile farlo. Continue reading