среда, 3 февраля 2010 г.

[comp.prog] HipHop от Facebook – трансляция PHP в C++

На opennet.ru нашел интересную новость: Facebook обнародовал свой проект HipHop. Его суть в том, что PHP код транслируется в C++, а результат потом компилируется с помощью g++. Что дает уменьшение расхода процессорного времени на 50%. Как я понял, эксплуатация HipHop-а в Facebook началась около шести месяцев назад, и сейчас с помощью HipHop-а обслуживается до 90% всего Web-трафика Facebook.

Интересующимся рекомендую прочитать официальный анонс от Facebook-а – там подробнее и увлекательнее (со слайдами ;).

Теперь отсебятина ;) Еще раз убеждаюсь в том, что существует дилемма – быстрая разработка или быстрое исполнение. Увеличивая скорость разработки (за счет более высокоуровневых и заточенных под задачу языков/инструментов) мы обязательно жертвуем скоростью исполнения. И наоборот (используя C++, C, Asm) мы выигрываем в скорости исполнения за счет скорости разработки. Попытки убить сразу двух зайцев приводят к возникновению вот таких вот лисапедов ;)

Кстати, думаю, что аналогичная дилемма существует для компромисса между скоростью разработки и качеством (количеством дефектов). Но данная новость не об этом ;)

3 комментария:

  1. Я правильно понял что это практически аналог cython http://www.cython.org/#documentation который является ограниченным подмножеством питона и тоже транслируется только не в C++ а в си?

    ОтветитьУдалить
  2. Я думаю, он больше похож на "Shed Skin - An Optimizing Python-to-C++ Compiler".

    ОтветитьУдалить
  3. 2Rustam: насколько я понял, это не аналоги. В HipHop обычный PHP-код транслируется в C++ код. Не весь PHP-код может быть так преобразован, например, из-за инструкции eval().

    ОтветитьУдалить