HipHop

Среда, 3 февраля 2010

Facebook, как вы уже могли слышать, выпустил транслятор PHP в код C++, названный HipHop.

Отмечу основные моменты
- Бесплатный, открытый исходный код.
- HipHop уже используется в Facebook по полной программе.
- PHP → С++ → GCC → бинарник. Делать это надо каждый раз при развёртывании кода.
- Бинарник может работать как сервер (libevent), а также запускаться из командной строки.
- Веб сервер = один процесс, много потоков.
- Не использует Zend Engine. Использует написанный на C++ почти совместимый с PHP 5.2 фреймворк.
- Используются расширения на C++ (стандартные написаны C). Сейчас доступны те, что использует Facebook. Остальные будьте готовы переписывать сами. Все расширения на C++ thread-safe.
- Некоторые магические методы поддерживаются, но не работают быстрее.

Не поддерживаются
- Windows.
- PHP 5.3 (поддержка планируется).
- eval().
- create_function()
- preg_replace с модификатором /e.
- function_exists() до объявления функции.

Поддерживаемый динамический функционал
- Динамический вызов функций, в том числе call_user_func().
- Динамические методы и свойства объектов.
- Динамические переменные, extract().
- Динамический include().
- Переопределение функций, классов, констант.
- __toString(), __get(), __set(), __call().

Источники информации:
- Анонс
- Исходный код
- My Thoughts on HipHop, Ilia Alshanetsky
- Notes from Facebook's HipHop for PHP Debut, Kris Jordan
- HipHop: What you need to know, Marco Tabini

Тэги: , ,

Комментарии

#1 Mike TUMS 03.02.10, 16:38

Вообще дико интересно. Интересует сравнение производительности, например - "чистый" вордпресс vs "хипхопнутый".

#2 xoma 03.02.10, 16:43

А мне вот интересно....на хабре сделали предположение, что ни один из фреймворковцмс под этой штукой не заведется..

Так ли это ?

#3 Sam 03.02.10, 16:50

Пример не пройдёт. Wordpress не заведётся, как и Drupal — там eval активно используется.

#4 Sam 03.02.10, 16:51

xoma
CMS популярные могут не завестись. Более-менее новые фреймворки — скорее всего заведутся.

#5 Sam 03.02.10, 16:55

Проверил. Yii точно не заведётся.

#6 Костег 03.02.10, 20:43

Если б скрипты в extensions компилировались бы)) Я бы так некоторые либы из ZF и Twig конвертнул.

#7 Чистяков Денис 04.02.10, 13:48

Спасибо за как всегда оперативный и подробный анонс.
Интересно будет почитать мысли Ильи Альшанецкого по этом поводу, спасибо за линк.

#8 Алексей 04.02.10, 14:08

А как исходники получить? с http://developers.facebook.com/hiphop-php/ перебрасывает на главную гитхаба...

#9 Sam 05.02.10, 13:47

Да, что-то, похоже, убрали их.

Оставить комментарий




Подписаться на RSS

Интересное

Разделы

  1. (5)
  2. (11)
  3. (6)
  4. (9)
  5. (6)
  6. (6)
  7. (16)
  8. (60)
  9. (274)
  10. (52)
  11. (16)
  12. (12)
  13. (37)
  14. (6)
  15. (10)
  16. (14)
  17. (18)
  18. (16)
  19. (7)
  20. (8)
  21. (7)
  22. (7)
  23. (31)
  24. (76)
  25. (27)
  26. (68)
  27. (5)
  28. (203)
  29. (59)
  30. (6)
  31. (19)
  32. (73)
  33. (27)
  34. (70)
  35. (33)
  36. (10)
  37. (5)
  38. (6)
  39. (5)
  40. (341)
  41. (14)
  42. (11)
  43. (6)
  44. (13)
  45. (8)
  46. (18)
  47. (6)
  48. (15)
  49. (115)
  50. (18)
  51. (6)
  52. (9)
  53. (71)
  54. (16)
  55. (6)
  56. (25)
  57. (13)
  58. (5)
  59. (39)
  60. (7)
  61. (31)
  62. (7)
  63. (12)
  64. (11)
  65. (124)
  66. (34)
  67. (5)
  68. (18)
  69. (28)
  70. (9)
  71. (6)
  72. (8)
  73. (41)
  74. (10)
  75. (6)
  76. (12)
  77. (5)
  78. (9)
  79. (6)

Друзья