ИНФОРМАЦИОННЫЙ ПОРТАЛ
Ваш путеводитель в мире IRC и ИТ-технологий!

Мир IT стремительно меняется, следите за новинками в сфере IT вместе с нами. Главные новости и события мира информационных технологий, обзоры гаджетов и софта, мнения экспертов о новинках - на нашем сайте.

 

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

FACEBOOK 9-КРАТНО УСКОРЯЕТ ЯЗЫК РАЗРАБОТКИ PHP

6 Октября 2013
Facebook 9-кратно ускоряет язык разработки PHPСоциальная сеть 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

ЕЩЕ ПО ТЕМЕ:

МЕДИАХОЛДИНГИ В ЭПОХУ ИНТЕРНЕТА: «НАМ НУЖНЫ СВОИ МИЛЬНЕРЫ»

6.11.2013

Крупнейшие медиахолдинги идут туда, где деньги, рост и перспектива – в Интернет. Как зарабатывать на новом поле, где наработанные годами способы становятся неэффективными. На 7 ежегодной конференции газеты «Ведомости» успешные издатели поделились своим видением того, как достигнуть успеха в цифровом мире.

FACEBOOK ОБЪЯВИЛ ОБ ИЗМЕНЕНИЯХ КНОПОК «МНЕ НРАВИТСЯ» И «ПОДЕЛИТЬСЯ»

14.12.2013

Facebook объявил об изменениях в функциях кнопок «Мне нравится» и «Поделиться» и расширении параметров встроенных сообщений, подчеркнув намерение компании расти в качестве платформы для публичного обмена информацией.

МТС ЗАПУСКАЕТ 3G-СЕТЬ В ЧЕЛЯБИНСКЕ

27.11.2013

Сотовый оператор «Мобильные ТелеСистемы» ввел в коммерческую эксплуатацию сети «третьего поколения» (3G) в Челябинске.

ОБЗОР ПОРТАТИВНОГО DVD MUSTEK DP77A

22.08.2013

В сегодняшнем обзоре мы с вами рассмотрим портативный DVD-проигрыватель Mustek DP77A. Его отличие от других подобных плееров в том, что он имеет дополнительный экран. Это позволяет комфортно просматривать видео, в компании с другим человеком одновременно, причем каждый на своем экране.