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

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
ЕЩЕ ПО ТЕМЕ:
КОМАНДЫ, КОТОРЫЕ ИСПОЛЬЗУЮТСЯ ПРИ ОБЩЕНИИ НА КАНАЛЕ IRC
31.07.2013При общении в сети IRC используются специальные команды, которые облегчают общение в сети, позволяют использовать все настройки и чувствовать себя в канале комфортабельно. Этими командами можно...
ЛАЗЕРНЫЙ ПРОЕКТОР LSS-020
26.07.2013Новый мини проектор LSS-020 является прекрасной лазерной установкой для шоурумов и ночных дискотек. Этот проектор сочетает в себе две поистине уникальные функции: stroboflash и высокочастотную звуковую активацию. Такое приспособление для воспроизведения высококачественных лазерных эффектов наглядно демонстрирует, что низкая цена и маленькие размеры могут вполне обеспечить от эксплуатации этого проектора большое удовольствие. И это неудивительно, ведь его аналоги не давали и близко таких эффектов, которых удалось добиться при помощи LSS-020.
РЕДИЗАЙН ГЛАВНОЙ СТРАНИЦЫ ТВИТТЕРА
1.09.2013Как сообщается в блоге Twitter этот самый крупный в мире сервис микроблогов, полностью сменил свою главную страницу. Теперь, по мнению разработчиков Twitter интерфейс главной страницы стал более доступным и понятным пользователям сервиса.
ПОКЕР 8VEGA ДЛЯ ANDROID
27.09.2013Компания AmberGames, разработчик онлайн-игр и мобильных приложений, объявила о выходе новой версии приложения для игры в покер 8Vega, доступного теперь для всех устройств на ОС Android версии 2,1 и выше….