Хип-хоп вместо XCache? - PullRequest
       26

Хип-хоп вместо XCache?

6 голосов
/ 18 марта 2010

Имеет ли смысл переключаться на HipHop вместо XCache?

Готов ли HipHop к прайм-тайму или мы должны подождать несколько месяцев, прежде чем его внедрять?

Редактировать: мы заинтересованы в тестировании конфигурации на сервере с vBulletin.

Ответы [ 3 ]

22 голосов
/ 19 марта 2010

Позвольте мне прояснить ваше неправильное представление о Hiphop и Xcache. XCache работает, добавляя кеширование кода операции в реализацию PHP ZEND (например, APC и друзей), в то время как HipHop Facebook позволяет преобразовывать код PHP в код C ++, а затем компилировать его с помощью g ++. Невозможно запустить XCache с HipHop, так как HipHop не зависит от интерпретатора Zend (и даже не использует коды операций php, так как он скомпилирован в байт-код после преобразования в C ++).

Теперь, чтобы ответить на ваш вопрос, HipHop используется в прямом эфире для размещения большого количества трафика Facebook. Facebook не выпустил бы этот проект, если бы он не был почти стабильным, но, поскольку он очень новый, я все равно буду проявлять осторожность. HipHop - это не просто патч для старого Zend Interpreter, это совершенно другой способ запуска PHP-кода, который, вероятно, содержит несколько ошибок.

Одна вещь, которую Facebook сделал для того, чтобы Hiphop работал до того, как переключился на него, заключался в том, что он мог устанавливать очень строгие модульные тесты для каждого возможного запроса на своем сайте. Таким образом, если выходные данные из Hiphop будут отличаться от обычного Zend PHP, они вернутся и отладят еще немного, пока все не «сработает для них». Тот факт, что он «работает» на базе кода Facebook, не доказывает, что он будет работать для вас. Если вы решите переключиться на HipHop, обязательно хорошо его протестируйте.

EDIT:

HHVM (новая версия ВМ HPHP) теперь может eval и create_function. Они должны быть одинаковыми по всем / наиболее значимым причинам.

Есть несколько вещей, которые не совместимы с HipHop. Они удалили функции eval и create_function. Они также пока поддерживают только PHP 5.2.x, но планируют добавить поддержку 5.3 "в ближайшее время".

8 голосов
/ 19 марта 2010

Мне нравится идея HipHop, так что не поймите меня неправильно, но есть кое-что, что нужно запомнить: HipHop не для всех.От Себастьян Бергманн :

это не решение проблемы, с которой сталкиваются 99,9% развертываний PHP там

Если у вас нет Facebookпропорциональный трафик и узкое место - использование процессора или памяти, вы вряд ли увидите большую выгоду (по сравнению с xcache, apc и т. д.).Доступ к базе данных и файловой системе по-прежнему будет вашим убийцей.

2 голосов
/ 12 октября 2010

Я вполне уверен, что vbulletin 3.x не будет работать с HipHop. Система плагинов VB 3 состоит из почти 2000 операторов eval, разбросанных по всему коду, и eval не поддерживается хип-хопом.

Это, вероятно, только верхушка айсберга, когда дело доходит до компиляции vbulletin.

...