ТЕХНОЛОГИИ ОН-ЛАЙН ОБЩЕНИЯ
FACEBOOK 9-КРАТНО УСКОРЯЕТ ЯЗЫК РАЗРАБОТКИ PHP
6 Октября 2013
Социальная сеть Facebook продолжает работать с популярной средой веб-разработки PHP, добиваясь ускорения ее работы на существующем оборудовании. Накануне в Facebook сообщили, что разработали PHP Virtual Machine, которая может выполнять инструкции на языке PHP до 9 раз быстрее, чем обычный интерпретатор PHP. "Наша цель - сделать 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
ЕЩЕ ПО ТЕМЕ:
«ВКОНТАКТЕ» НАКАЖУТ ЗА ПОРНОГРАФИЮ?
13.09.2013Ведущая российская социальная сеть «Вконтакте» стала объектом преследования со стороны активистов неформального движения «Охотники за головами». Данное движение ведет активную борьбу с педофилией
АНТОН ГРИБОВСКИЙ, LOGITECH: "ПОЛЬЗОВАТЕЛИ СТАЛИ БОЛЬШЕ ПОКУПАТЬ БЕСПРОВОДНЫХ МЫШЕЙ И WEB-КАМЕР"
9.12.2013Как изменились предпочтения украинских потребителей за последние 2-3 года в периферии, об аксессуарах Logitech для iPAD/iPhone, о первой клавиатуре на солнечных батарейках рассказывает менеджер по работе с ключевыми клиентами Logitech в Украине.
ТЕЛЕФОННЫЕ КАБИНЫ СО SKYPE
4.10.2013Всем хорошо знакомы телефонные кабины, будки где стоят телефоны и оплатив пару монет любой может позвонить с такого телефона! В наше время такие будки не актуальны ведь у каждого есть мобильный телефон. Но телефонная будка о которой пойдет речь в этом рассказе, заслуживает большого внимания! В Эстонии появилась первая телефонная кабина, будка в которой стоит не просто телефон а установлен Skype!
НЕВОЗМОЖНО АВТОРИЗОВАТЬСЯ В ПРОГРАММЕ SKYPE
8.08.2013Сегодня 07.06.2011 у Skype произошел очередной сбой в работе! Большинство пользователей испытывают проблемы с авторизацией в программе, однако на самом сайте в личном кабинете авторизация проходит успешно. Но пользователям главное авторизоваться в программе ведь совершать звонки и общается в чате можно только если вы авторизованы в самой программе на своем компьютере. Те кто в момент возникновения проблемы уже был авторизован в Skype в последствии были разъединены, а при повторной попытке соединится возникает ошибка.


