KPHP

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
KPHP
Тип Транслятор PHP в C++
Разработчик ВКонтакте
Написана на C, C++
Последняя версия (14 октября 2021; 11 месяцев назад (2021-10-14))
Лицензия GPL, LGPL
Сайт github.com/vkcom/kphp

KPHP (kPHP, KittenPHP) — это свободный (GPL/LGPL) транслятор PHP-кода в C++ от компании ВКонтакте.

По словам разработчиков, переход социальной сети в конце мая 2013 года на новый язык программирования дал двукратное повышение скорости сервиса[1].

6 марта 2014 года код транслятора и сопутствующих инструментов был размещен в открытом доступе[2]. Однако разработка не была продолжена на самом GitHub и проект лежал без изменений шесть лет. 11-го ноября 2020 года компилятор KPHP был повторно выложен на GitHub[3], но на этот раз без внутренних баз данных («движков»).

Изначально kPHP задумывался как язык, не полностью совместимый с языком PHP. Так, например, для ускорения выполнения-компиляции в нём есть возможность явно задавать типы переменных[4] и сильно ограничено применение ООП, что имеется в современных версиях языка PHP (начиная с версии 7.0). Кроме того, kPHP выигрывает в плане статического анализа кода, он имеет преимущества в использовании памяти и использует меньше процессорного времени[4].

Приставка К- происходит от слова kitten (рус. котёнок), что стало своеобразной традицией во внутренних разработках ВКонтакте[5].

См. также[править | править код]

Примечания[править | править код]

  1. "Мы завершили перевод всего кода ВКонтакте на компилируемый язык программирования, который разрабатывали более года, — KPHP". Дата обращения: 22 октября 2015. Архивировано 21 января 2014 года.
  2. Хабрахабр: Релиз KPHP и движков. Дата обращения: 7 марта 2014. Архивировано 7 марта 2014 года.
  3. ВКонтакте снова выкладывает KPHP. habr.com. Дата обращения: 11 ноября 2020. Архивировано 11 ноября 2020 года.
  4. 1 2 kPHP против американского HipHop’а. Дата обращения: 26 января 2022. Архивировано 26 января 2022 года.
  5. О kPHP: как котята ускоряют ВКонтакте. Дата обращения: 25 декабря 2013. Архивировано 26 декабря 2013 года.