RSS
 

HipHop - компилятор PHP

http://github.com/facebook/hiphop-php

ХипХоп - компилятор ПХП, который переводит код ПХП в С++, а дальше компилит его в бинарники. Разработан Фейсбук и выложен в открытый доступ в начале 2010 года. Да здравствует производительный код на ПХП! :)

http://terrychay.com/article/hiphop-for-faster-php.shtml - большая статья на 8 страниц о нагрузках в фейсбуке и истории откуда появился ХипХоп.

“I’m interested in what language features besides eval() are not supported. They give eval() as an example but imply there are others.”—Jenn (in comments below)

Well that list is infinite as I just explained, but the question is really wondering what things won’t ever be supported. Here is a list:
eval() not supported
create_function() is not supported
dynamic scripting is not allowed. That’s where you use PHP to create a PHP file. The most common example is using Smarty to compile a file for performance. All template files would have to be precompiled or the smarty include() hook would crash HipHop.
preg_replace() when using e modifier—execute PHP code on match.
I think $$ is not supported for the same static type optimizer reason above. call_user_func(), however, is.
Order dependent symbol lookups (checking for exists and then doing something) won’t behave the same way. This is because of the way the static analyzer iterates over everything in multiple passes.