• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Not planned Making sure it's running well under HipHop

SneakyDave

Well-known member
#5
One of the comments from the Facebook Engineering said: "The end result is a binary with all your PHP code and a built in web server."

I didn't realize it included a web server. I'm more interested in how that works with static files, or if it just handles PHP (compiled or not). It would be nice to be able to replace Apache, and let something like nginx handle the static content, and Hip Hop PHP serve the PHP and/or compiled code.

I was curious about how it handled PHP evals, and found this:
HipHop for PHP isn't technically a compiler itself. Rather it is a source code transformer. HipHop programmatically transforms your PHP source code into highly optimized C++ and then uses g++ to compile it. HipHop executes the source code in a semantically equivalent manner and sacrifices some rarely used features — such as eval() — in exchange for improved performance.

So it just doesn't/can't compile eval'd statements?
 

Cezz

Well-known member
#6
One of the comments from the Facebook Engineering said: "The end result is a binary with all your PHP code and a built in web server."

I didn't realize it included a web server. I'm more interested in how that works with static files, or if it just handles PHP (compiled or not). It would be nice to be able to replace Apache, and let something like nginx handle the static content, and Hip Hop PHP serve the PHP and/or compiled code.

I was curious about how it handled PHP evals, and found this:

So it just doesn't/can't compile eval'd statements?
So this should indicate as Kier has said evil() is minimal it is used, that xenForo will not work properly.. :(
 

Erik

Well-known member
#8
If you think about it, it makes sense... There is simply no way for HipHop to transform eval'd statements into C++ code. It doesn't understand this, for example:
PHP:
// get hook code from database
eval($myhook);
One other downside is that you would have to recompile every single time an update is released or you make changes to the PHP source code (not really sure how mods/hooks would work with HipHop - it's scary to think about).

Nevertheless, I would love to see XenForo running under HipHop even though I would probably never use it by myself.
 
#9
As a big board, I'd love to see this happen. I've been following HipHop since it was announced, but knew it would never be in the cards as long as I was running vBulletin. It would be cool to see Xenforo (or portions of it) running under HipHop for sure.
 
F

Floris

Guest
#12
Scott is an ex-developer for vBulletin under Jelsoft.
He is a good friend of both Mike and Kier.
 

Erik

Well-known member
#14
From that other thread:

:)
Good to know, although I would like to know how eval() is handled. For most board owners this won't be a realistic (or necessary) solution. You would need to recompile every time you change a template or CSS or something. :)