KPHP: зачем VK свой компилятор PHP и как он устроен
Подкаст «Люди и код», выпуск №99: Александр Кирсанов.
Иллюстрация: Polina Vari / Skillbox Media
У нашего подкаста появился отдельный телеграм-канал. Подписывайтесь, чтобы не пропустить эпизоды, голосовать за новые темы, предлагать гостей и присылать вопросы для следующих выпусков.
Александр Кирсанов
Занимается разработкой KPHP и других open-source-проектов в VK, оптимизацией ядра и работой на стыке
PHP-KPHP-движки.
Содержание выпуска
- Какие технологии лежали в основе первой версии «ВКонтакте».
- В какой части сайта возникли первые проблемы с ростом нагрузки.
- Для чего команда «ВКонтакте» писала свои собственные СУБД.
- В чём было узкое место приложения с точки зрения языка программирования.
- Как новая команда разбиралась в устройстве первой версии компилятора и собирала новую.
- Почему «олимпиадный» код так сложно читать.
- Как повышали производительность кода на PHP в Meta*.
- Где пролегает граница между обычным сервисом и хайлоадом.
- Как устроен KPHP. Почему код на PHP переводится именно в C++.
- Чем компилируемые языки программирования лучше интерпретируемых.
- Будут ли в KPHP появляться фичи из новых версий PHP.
- Зачем исходники KPHP выложили в открытый доступ. Есть ли у KPHP сторонние контрибьюторы.
- С какими проблемами столкнулись разработчики, когда выкладывали код на GitHub.
- Как в KPHP реализован рантайм.
- Что ребята из VK планируют добавить и улучшить в KPHP.
- Во сколько раз ускорилась загрузка страниц в VK после перехода на KPHP.
Полезные ссылки
- Статья про KPHP на «Хабре»
- Доклад про историю KPHP на VK Team
- Доклад про распределённый компилятор nocc
- Распределённый компилятор nocc на GitHub
- Плагин для строгой типизации в PHP
- Плагин Modulite
- Та самая «книга с драконом» (на всякий случай)
Слушать выпуск
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!
* Решением суда запрещена «деятельность компании Meta Platforms Inc. по реализации продуктов — социальных сетей Facebook и Instagram на территории Российской Федерации по основаниям осуществления экстремистской деятельности».