Facebook и «Вконтакте» ускоряют PHP, у русских получается лучше
И Facebook, и «Вконтакте» усиленно трудятся над оптимизацией PHP, чтобы ускорить работу своих сайтов. К счастью, воспользоваться результатами их труда могут все желающие, поскольку компании выкладывают результаты в свободное пользование.
Facebook еще в 2010 году выпустил компилятор HipHop (HPHPc). Он транслировал PHP в C++, жертвуя некоторыми редко используемыми функциями PHP вроде eval(), но повышая производительность. Компания «Вконтакте» использует такой же подход. Спустя три года после Facebook она тоже выпустила свою версию транслятора под названием KittenPHP (KPHP), которая по результатам тестирования значительно обогнала HipHop.
Впрочем, вскоре последовал ответ Facebook. Вместо старого транслятора вышла виртуальная машина, окружение и JIT-компилятор для PHP под названием HipHop VM for PHP или просто HHVM. В 2013 году на Github выложили исходный код виртуальной машины и собранные пакеты для Ubuntu 12.04, Debian 7 (wheezy) и Centos 6.4. Сейчас к ним добавился Mint 16.
По словам представителя Facebook, который выступал на конференции O'Reilly Open Source Conference (OSCON), для стандартного веб-сайта, например, на хостинге Wordpress, повышение производительности будет небольшим: всего в пять раз. Другое дело, если речь идет о большой кодовой базе PHP, именно для такой оптимизирована виртуальная машина HHVM, так что здесь возможен рост производительности в девять раз.
«Вконтакте» созрел для публикации исходников только к марту 2014 года, но это наконец-то свершилось. Да еще как! По результатам тестов, новая версия KPHP превосходит стандартный PHP в 25 раз, а «фейсбуковский» HHVM почти вчетверо. Код тестов доступен по ссылке https://gist.github.com/anonymous/9391146#file-bench-php.

Вчера в официальном блоге компания «Вконтакте» рассказала о внутреннем устройстве «ВКонтакте» и тех инструментах, которые теперь стали доступны opensource-сообществу.
KPHP
Исходный код ВКонтакте разрабатывается на PHP-подобном языке, названном KittenPHP или коротко KPHP. Этот код транслируется в C++ специальным транслятором с одноименным названием. После этого сгенерированный C++ код автоматически компилируется средствами gcc, в результате чего получается бинарник, готовый для запуска. Этот бинарник представляет собой веб-сервер, принимающий http-запросы и генерирующий страницы.
Для того чтобы ускорить процесс разработки, KPHP компилирует различные файлы проекта отдельно, после чего линкует. При последующих компиляциях обрабатываются только измененные файлы, либо, в случае больших по размеру файлов, только их части.
KPHP – минималистичный язык, созданный с целью обеспечить очень высокую скорость работы, без ущерба для удобства и скорости разработки. В связи с этим KPHP поддерживает не все возможности PHP, в частности, в нем отсутствует ООП, за исключением некоторых объектов стандартной библиотеки. Кроме этого не поддерживается eval и связанные с ним вещи, такие как регулярные выражения с модификатором 'e' (вместо этого предлагается использовать функцию preg_replace_callback). Также не поддерживаются функции для работы с определенными элементами массивов first, end, next, prev, current, reset, key; для их замены реализованы функции getValueByPos и getKeyByPos.
Отказ от поддержки большого количества функционала позволил KPHP стать невероятно быстрым по сравнению с другими средствами для веб-разработки.
С точки зрения разработки, KPHP достаточно совместим с PHP, чтобы для быстрого тестирования написанного кода можно было использовать обычный PHP, а компилировать код только перед финальным тестированием и выкатыванием проекта. Для поддержки функций, реализованных в KPHP, но отсутствующих в обычном PHP, была выложена специальная библиотека github.com/vk-com/kphp-kdb/tree/master/vkext, расширяющая возможности PHP.
Кроме того, KittenPHP является хорошим статическим анализатором PHP-кода, указывающим на вероятные ошибки. Например, в процессе перевода ВКонтакте на него год назад было найдено более 20 серьезных багов.
Вместе с компилятором под открытой лицензией разработчики выложили набор движков, которые отлично дополняют KPHP, но могут быть использованы и отдельно от него.
Кроме перечисленных, Вы можете найти в репозитории ряд других, не столь универсальных, но не менее интересных инструментов, документацию к которым вы найдете здесь: https://github.com/vk-com/kphp-kdb/blob/master/docs/ru/.
Подробнее: http://www.xakep.ru/post/62165/default.asp
|
И Facebook, и «Вконтакте» усиленно трудятся над оптимизацией PHP, чтобы ускорить работу своих сайтов. К счастью, воспользоваться результатами их труда могут все желающие, поскольку компании |
РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2026-07-10 » Корпоративный сайт, который показывает масштаб компании, укрепляет доверие и ведет клиента к целевому действию
- 2026-07-10 » Сайт бронирования, который превращает интерес клиента в прямую бронь, запись или заявку
- 2026-07-10 » Образовательный сайт под ключ
- 2026-07-03 » Аналитика нового поколения: как Яндекс Метрика превращает данные в управляемые конверсии
- 2026-07-03 » Прорыв в инфлюенс-маркетинге: Яндекс Директ научился оптимизировать рекламу в Telegram и MAX под реальные продажи
- 2026-07-03 » Нейросетевой дуэт: как Gorgona и Argus меняют правила игры в контекстной рекламе Яндекса
- 2026-07-03 » Рекламная революция в «Яндекс Директе»: с 14 июля текстово-графические объявления окончательно уступают место комбинаторным
- 2026-07-03 » Макс запустил тест комментариев в публичных каналах
- 2026-07-01 » Уникальность текста: когда копировать контент можно, а когда нельзя
- 2026-07-01 » Локальный поиск в 2026 году: как алгоритмы ранжируют бизнес
- 2026-07-01 » ПромоСтраницы Яндекса: инструмент, который меняет правила игры в контент-маркетинге
- 2026-07-01 » Контент для строительных компаний: какими текстами наполнить сайт, чтобы он приносил клиентов
- 2026-07-01 » Искусство диалога с ИИ: как составить промпт, чтобы нейросеть поняла вас с полуслова
- 2026-06-26 » Новый виток эффективности: товарные объявления в Директе теперь работают на ретаргетинг мобильных приложений
- 2026-06-26 » Характеристики товаров в Товарной галерее Яндекса: как одна деталь увеличивает продажи на 4%
- 2026-06-26 » Новая реальность контент-маркетинга: треть цитируемых ChatGPT страниц невидимы для Google
- 2026-06-26 » Конец текстово-графических объявлений: Яндекс Директ переводит ЕПК на комбинаторный формат
- 2026-06-26 » Конец эпохи: Google окончательно отключает блокировщики рекламы в Chrome
- 2026-06-10 » Новые штрафы за неисполнение правил авторизации
- 2026-06-10 » Новая реальность: MAX под прицелом
- 2026-06-10 » Банки и операторов связи обяжут компенсировать похищенное мошенниками
- 2026-06-10 » Что такое «белый VPN» и чем он отличается от обычного?
- 2026-06-10 » Когда ИИ придумывает «факты»: анатомия кризиса вымышленной статистики
- 2026-06-10 » Автостратегии Яндекс.Директа: стоит ли использовать в 2026 году
- 2026-06-10 » SMM в 2026: от охватов к доверию — полный гид по стратегии
- 2026-06-10 » Яндекс.Директ вышел на новый уровень: теперь реклама в каналах «Макса» с точным таргетингом
- 2026-06-10 » РСЯ с 1 июля прекращает сотрудничество с партнерами-физлицами: что делать, чтобы не потерять доход
- 2026-06-10 » Макс становится супераппом: бесконтактная оплата через СБП в несколько секунд
- 2026-06-05 » Как Яндекс передал площадкам управление собственным контентом
- 2026-06-05 » Как создавать гайды и инструкции с помощью нейросетей
"Если технология меняется почти каждый день, нет смысла нанимать человека потому, что он обладает специфическим набором профессиональных навыков - все равно эти навыки скоро устареют. Вам нужно стараться принимать на работу людей, которые обладают широкими универсальными способностями к решению проблем, каким бы трудным это ни оказалось." |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.

Мы создаем практически любые сайты от продающих страниц до сложных, высоконагруженных и нестандартных веб приложений! Наши сайты это надежные маркетинговые инструменты для успеха Вашего бизнеса и увеличения вашей прибыли! Мы делаем красивые и максимально эффектные сайты по доступным ценам уже много лет!
Комплексный подход это не просто продвижение сайта, это целый комплекс мероприятий, который определяется целями и задачами поставленными перед сайтом и организацией, которая за этим стоит. Время однобоких методов в продвижении сайтов уже прошло, конкуренция слишком высока, чтобы была возможность расслабиться и получать \ удерживать клиентов из Интернета, просто сделав сайт и не занимаясь им...
Мы оказываем полный комплекс услуг по сопровождению сайта: информационному и техническому обслуживанию и развитию Интернет сайтов.
Контекстная реклама - это эффективный инструмент в интернет маркетинге, целью которого является увеличение продаж. Главный плюс контекстной рекламы заключается в том, что она работает избирательно.