Newsgroup: it.comp.www.php
Titolo: Facebook riscrive Php... !?

Avete letto la news su facebook che riscrive php ?
http://www.osblog.it/2010/02/02/facebook-riscrive-php/
ma non capisco: trasformano il linguaggio da interpretato a compilato 
(stile 
asp.net
) o chess�... migliorano la sintassi dov'� da migliorare ?!?!?

 ?!?!?
Non migliorano la sintassi, migliorano la conversione tra codice leggibile
dall'umano e codice intepretabile dalla macchina, oppure riscrivono ex novo il
runtime. Queste sono le due voci che girano, meglio aspettare il giorno
dell'annuncio per avere delle certezze.
Se facessero un runtime piu' leggero per il server, ci sarebbe solamente da
essere contenti; idem se facesero un generatore di codice intermedio che
alleggerisce il carico del server.
La cosa positiva e' che, qualsiasi sia la cosa che presentereanno, sara' "open".
Ciao,
luigi
-- 
/
+--[Luigi Rosa]--
\
Sed modo senectus morbus est, carmen vitae immoderatae hic est.


Esatto... se non cambiano la sintassi (ossia il porting del vecchio 
codice � possibile) � una cosa buona e giusta .. qualsiasi essa sia 
credo..  (nel senso, se cambiano, cambiano in meglio)...

Speriamo che, qualsiasi miglioria facciano, sia inclusa nel php6..
cioè, non vorrei ritrovarmi tra un anno a dover scegliere tra php6 e
phpFacebook...

 phpFacebook...
quoto in pieno...

 credo..  (nel senso, se cambiano, cambiano in meglio)...
Mhà, hai visto mai, invece delle eccezioni aggiungono le
notifiche... ;)

 ?!?!?
Hyperphp...
da quanto avevo letto  c'è un (1) ragazzo che sta facendo un sistema per 
rendere il php binario, il che vuol dire evitare di aprire il file a ogni 
richiesta, convertirlo in linguaggio macchina e eseguirlo.
niente di che, sono cose che esistono da mille mila anni.
si vede che quel che c'è non li soddisfaceva.
trovato l'articolo
Rumpus: So tell me about the engineers.
Employee: They’re weird, and smart as balls. For example, this guy right now 
is single-handedly rewriting, essentially, the entire site. Our site is 
coded, I’d say, 90% in PHP. All the front end — everything you see — is 
generated via a language called PHP. He is creating HPHP, Hyper-PHP, which 
means he’s literally rewriting the entire language. There’s this distinction 
in coding between a scripted language and a compiled language. PHP is an 
example of a scripted language. The computer or browser reads the program 
like a script, from top to bottom, and executes it in that order: anything 
you declare at the bottom cannot be referenced at the top. But with a 
compiled language, the program you write is compiled into an executable 
file. It doesn’t have to read the program from beginning to end in order to 
execute commands. It’s much faster that way. So this engineer is converting 
the site from one that runs on a scripted language to one that runs on a 
compiled language. However, if you went to go talk to him about basketball, 
you would probably have the most awkward conversation you’d have with a 
human being in your entire life. You just can’t talk to these people on a 
normal level. If you wanted to talk about basketball, talk about graph 
theory. Then he’d get it. And there’s a lot of people like that. But by 
golly, they can do their jobs.
Rumpus: So what will be the net effect of running the site on Hyper PHP?
Employee: We’re going to reduce our CPU usage on our servers by 80%, so 
practically, users will just see this as a faster site. Pages will load in 
one fifth of the time that they used to.
Rumpus: When’s it coming out?
Employee: When it’s done. Next couple of months, ideally.
-- 
give it away

 in one fifth of the time that they used to.
Illuso! :P
Bye.

 Illuso! :P
sui miei server senza APC il sito diventa inusabile dopo ben 2 secondi.
con top sopra 200 e blocco completo della macchina.
APC è fondamentale per me.
-- 
give it away

 per me.
Non ne dubito.
Dubito del fatto che le pagine si carichino in 1/5 del tempo, visto che 
di mezzo ci sono le interrogazioni al DB (o alla cache), la latenza di 
rete, le query dns, tutti i contenuti statici, ecc.
Bye.

 Bye.
beh, se 100 richieste le eseguo in diciamo 10 secondi a parità di db  etc
e encodare il php mi costa 3 secondi
è ovvio che quando il php mi costa 0.03 secondi sarò più veloce a fornire 
pagine, quindi sì, per l'utente sarà tutto più veloce.
-- 
give it away

Illuso! :P
Sta per fare un frontale con la legge di Amdahl :-)
Leonardo
-- 
The cock doth craw, the day doth daw,
the channerin' worm doth chide:
gin we be mist oot o' oor place,
a sair pain we maun bide.

 Avete letto la news su facebook che riscrive php ?
E finalmente l'hanno annunciato :)
http://developers.facebook.com/news.php?blog=1&story=358
Non sembra che abbiano ancora pubblicato il codice, ma penso sia 
questione di qualche ora/giorno.
In pratica e` un precompilatore PHP -> C++ con alcune limitazioni 
(parlano di eval non supportato, ma e` quasi un bene :) Bisognera` vedere 
se ce ne sono altre).
Bye.

 (parlano di eval non supportato, ma e` quasi un bene :) 
Concordo.
Ciao,
luigi
-- 
/
+--[Luigi Rosa]--
\
When you have reached the end of the road, then you can decide, whether
to go to the left or to the right, to fire or to water. If you make
those decisions before you have even set foot upon the road, it will
take you no where... except to a bad end.
    --Galen, "Racing the Night"

Alessandro Pellizzari wrote:

che roba, kudos to them, non vedo l'ora di provarlo.
-- 
give it away


Non ho letto l'articolo che è bello lungo e ora non ho tempo, ma
quindi è una cosa esterna al php tipo eaccelerator?

 se ce ne sono altre).
unico problema è che al momento non gira su apache ma su un http server suo.
-- 
give it away

 è una cosa esterna al php tipo eaccelerator?
No, ancora piu` esterna.
In pratica sara` qualcosa tipo
$ hphpi file.php >file.c++
$ g++ -o file file.c++
Il precompilatore si arrangia ad analizzare sia staticamente che 
dinamicamente il file, a includere quello che va incluso, a "trasformare" 
le variabili quando cambiano tipo, e a generare un sorgente c++, che poi 
va compilato con il compilatore standard (GCC).
Il tutto viene poi eseguito su un webserver apposta (non apache).
In pratica e` simile (ma non uguale) a come si facevano le CGI in C 
vent'anni fa. ;P (<- notare la faccina)
Bye.

 unico problema è che al momento non gira su apache ma su un http server suo.
Fino a qualche tempo fa il server http di facebook si identificava come un
apache customizzato, ora hanno tolto la stringa di identificazione
Ciao,
luigi
-- 
/
+--[Luigi Rosa]--
\
Charlie was a chemist, but Charlie is no more.
What Charlie thought was H2O was H2SO4.

 apache customizzato, ora hanno tolto la stringa di identificazione
eh, ho capito il perché.
a quanto pare non è poi così trasparente questo ottimizzatore.
comunque ho visto il video di presentazione, bei cervelli a parlare.
ciao
-- 
give it away

 apache customizzato, ora hanno tolto la stringa di identificazione
Beccato!
Prima di mascherare la stringa di versione facebook usava "Apache/1.3.41.fb2"
Ciao,
luigi
-- 
/
+--[Luigi Rosa]--
\
God runs electromagnetics by wave theory on Monday, Wednesday,
and Friday, and the Devil runs them by quantum theory on Tuesday,
Thursday, and Saturday.
    --William Bragg

http://terrychay.com/article/hiphop-for-faster-php.shtml
-- 
give it away


Bell'articolo!