Компиляция PHP в автономный исполняемый файл (быстрее?)


У меня есть PHP-скрипт, который я хотел бы скомпилировать в отдельный исполняемый файл командной строки для работы на Linux.

Реально ли это? Существуют ли для этого компиляторы?

Я знаю, что существуют компиляторы PHP, но мой вопрос больше ориентирован на то, является ли это преимуществом, и какой компилятор лучше всего использовать.

Будет ли он быстрее или медленнее, чем запуск его через PHP? Если это ускорит мой скрипт, то это было бы здорово, так как он делает много обработки (много петли и математика) и занимает час, чтобы запустить.

2 3

2 ответа:

Я понимаю, что HipHop компилируется на C++, а не на C, и что этот процесс довольно прост. FaceBook применил его к огромному количеству кода.

Я не уверен, что вы получите .exe, но OP хочет только "быстрее". Он может получить довольно хорошее ускорение; HipHop compiled-code в среднем только в 2 раза быстрее, но это потому, что большая часть выполнения PHP-это действительно библиотечные вызовы. Он мог бы получить довольно хорошее ускорение в своей вычислительной части, если компилятор HipHop сможет выяснить, что типы данных находятся в вычислительном коде. Возможно, ему придется несколько изменить свой код, чтобы сделать это понятным компилятору HipHop, не используя свои вычислительные вариабли для чего-либо, кроме вычислений, но это должно быть только незначительное изменение исходного кода. Я ожидал бы, что сайт HipHop будет содержать подсказки о том, что нужно сделать, чтобы ускорить компиляцию кода HipHop в этом направлении.

Все это-обоснованное предположение, основанное на том, что я понимаю, а не на реальном опыте. YMMV.

Ну, компиляция сама по себе добавит очень мало, если ваш скрипт работает в течение нескольких часов.
Лучшим решением было бы использовать другой язык, C, кажется, будет лучшим выбором.

Вы можете попробовать перевести свой PHP на C с помощью компилятора hiphop, но это не та задача, которую я бы назвал легкой