ТЕХНОЛОГИИ ОН-ЛАЙН ОБЩЕНИЯ

FACEBOOK 9-КРАТНО УСКОРЯЕТ ЯЗЫК РАЗРАБОТКИ PHP
6 Октября 2013
"Наша цель - сделать PHP действительно быстрым", - говорит инженер Facebook Джоэль Побар.
Ранее компания Facebook уже применяла разные трюки для ускорения работы PHP и повышения его масштабируемости. Так, была создана виртуальная машина HipHop, которая до начала этого года активно использовалась на серверах Facebook.
PHP представляет собой интерпретируемый язык, то есть его исходный код преобразуется и выполняется напрямую процессором компьютера. В общем случае это значит, что интерпретируемые языки не транслируются в бинарные структуры и не могут выполняться также быстро, как низкоуровневые языки, такие как C или C++, однако по всему миру очень много поклонников PHP, так как этот язык прост в конструкции и обладает богатыми возможностями.
Чтобы облегчить работу с PHP на высоконаргуженных проектах, таких как Facebook, был создан интерпретатор HipHop, который транслировал PHP в C++код, чтобы тот выполнялся процессором быстрее. В Facebook говорят, что до недавнего времени их устраивал HipHop, однако с ростом базы пользователей и он перестал справляться с обслуживанием более чем миллиарда пользователей.
Новая виртуальная машина PHP является развитием HipHop и работает по принципу Just-in-time компилятора. Она на лету конвертирует PHP-код в байткод и сохраняет наиболее востребованные откомпилированные фрагменты в памяти для их скорейшего вызова по необходимости. По похожему алгоритму работает и Java-среда на сервере.
Компания уже разместила исходники виртуальной машины на ресурсе GitHub.
"Just-in-time позволяет виртуальной машине принимать более умные решения. К примеру, если в PHP происходит вызов MySQL, то компилятор сам определяет тип выдаваемых данных, после чего он генерирует или вызывает код, который наилучшим образом подходит для обработки подобных типов данных", - говорит Побар.
При этом, в Facebook говорят, что хотя компилятор достаточно умен, чтобы понять типы данных или понять, какие части кода лучше держать наготове, полный успех все-таки зависит от особенностей реализации кода руками программиста. Использование виртуальной машины целесообразно на больших проектах с высоким уровнем динамической генерации данных.
CyberSecurity
ЕЩЕ ПО ТЕМЕ:
АНТОН ГРИБОВСКИЙ, LOGITECH: "ПОЛЬЗОВАТЕЛИ СТАЛИ БОЛЬШЕ ПОКУПАТЬ БЕСПРОВОДНЫХ МЫШЕЙ И WEB-КАМЕР"
9.12.2013Как изменились предпочтения украинских потребителей за последние 2-3 года в периферии, об аксессуарах Logitech для iPAD/iPhone, о первой клавиатуре на солнечных батарейках рассказывает менеджер по работе с ключевыми клиентами Logitech в Украине.
NOKIA РАЗРЕШИТ «ЗВОНИТЬ» НА ПОТЕРЯННЫЕ КЛЮЧИ
29.07.2013Компания Nokia выпустит для смартфонов Lumia аксессуар-метку под названием Treasure Tag. Будучи прикрепленной к тому или иному предмету — например, к связке ключей, — Treasure Tag позволит определить его местоположение...
НЕСКОЛЬКО СЛОВ ОБ ЭКСКЛЮЗИВНЫХ ПРИЛОЖЕНИЯХ ДЛЯ СМАРТФОНОВ NOKIA LUMIA 820 И 920
1.08.2013На прошедшей неделе финской компанией Nokia был анонсирован очередной список приложений, предназначенный для работы исключительно на смартфонах линейки Lumia. Как оказалось, большинство из них будут иметь поддержку беспроводной передачи данных…
БАНК UBS ПОДАСТ В СУД НА NASDAQ ИЗ-ЗА IPO FACEBOOK
29.10.2013Скандал вокруг недавно прошедшего IPO социальной сети Facebook продолжает набирать обороты. В частности, крупный банк UBS собирается в ближайшее время подать в суд на биржу Nasdaq.