Мало ли мы знали, что за последние шесть месяцев Facebook использовал специальный компилятор для PHP, который они называют «хип-хоп». По сути, он берет ваш исходный код PHP и преобразует его в C ++, а затем компилируется с G ++. В результате им удалось снизить нагрузку на процессор на 50%. Этот проект, очевидно, разрабатывался в течение последних двух лет, но только сегодня был опубликован для сообщества .
«HipHop для PHP технически сам по себе не является компилятором. Скорее, это преобразователь исходного кода. HipHop программно преобразует ваш исходный код PHP в высоко оптимизированный C ++, а затем использует g ++ для его компиляции. HipHop выполняет исходный код семантически эквивалентным образом и жертвует некоторыми редко используемыми функциями, такими как eval (), в обмен на повышение производительности. HipHop включает преобразователь кода, повторную реализацию системы времени выполнения PHP и переписывание многих распространенных расширений PHP, чтобы воспользоваться преимуществами этой оптимизации производительности ».
Объявление
«Масштабирование Facebook является особенно сложной задачей, потому что почти каждый просмотр страницы является зарегистрированным пользователем с индивидуальным подходом. Когда вы просматриваете свою домашнюю страницу, нам нужно искать всех своих друзей, запрашивать их наиболее релевантные обновления (из специальной службы, которую мы» созданный под названием Multifeed), отфильтруйте результаты на основе ваших настроек конфиденциальности, а затем заполните истории комментариями, фотографиями, лайками и всеми богатыми данными, которые люди любят в Facebook. Все это за считанные секунды. HipHop позволяет нам написать логику, которая выполняет окончательную сборку страницы в PHP, и быстро выполнить итерацию, полагаясь на пользовательские фоновые сервисы в C ++, Erlang, Java или Python для обслуживания новостной ленты, поиска, чата и других основных частей сайта. «.
Проблемы Facebook с PHP
- Не может повторно использовать логику PHP в других системах
- Расширения сложнее написать для разработчиков PHP
- Высокая загрузка процессора; не может быть таким же эффективным, как C ++
- Совершенно нецелесообразно полностью переписывать Facebook с новым языком
Как они улучшили это
- Это преобразователь исходного кода
- Преобразует PHP в оптимизированный C ++, затем компилируется с G ++
- В разработке более двух лет.
- Если вы пользовались Facebook в течение последних шести месяцев, у вас есть опыт хип-хопа
- Команда Facebook зафиксировала снижение загрузки процессора на 50%.
- У них будут преданные евангелисты, которые помогут обучить / познакомить сообщество с хип-хопом
- Если вы используете общий хост с использованием Apache, вы, скорее всего, захотите продолжить использовать стандартный PHP
- Подпишитесь на нас в Твиттере или подпишитесь на ленту Nettuts + RSS для получения лучших учебных материалов по веб-разработке.
Где мы можем начать играть с этим?
Хип-хоп доступен сейчас и размещен на Github. Вы можете скачать его здесь .