Что такое JIT-компилятор PHP8
Что такое PHP8 JIT? и какие преимущества он может дать миру PHP? Насколько я понимаю, он используется для повышения производительности.
2 ответа
Компилятор JIT (Just in Time) в PHP работает так же, как и в другом интерпретируемом языке программирования. Он запускается после запуска программы и компилирует код на лету (во время выполнения).
В PHP8 JIT опускает Zend VM
и если скомпилированный код уже кэширован, он отправляется непосредственно в ЦП. Он не будет зависеть от языка C и сможет разрабатывать свои собственные функции.
JIT в PHP8 не меняет правила игры. Это улучшит производительность, но не так значительно, как PHP7.
Хорошая статья с плюсами и минусами JIT.
- Это открывает двери для использования PHP как очень производительного языка за пределами сети.
- Со временем JIT можно улучшить, как и наш код.
Если код PHP можно интерпретировать во время выполнения, минуя виртуальную машину, это означает, что в будущем для самого PHP появятся новые возможности для ресурсоемких задач, таких как машинное обучение.
Теперь, когда выпущена первая альфа-версия, я бы сказал, что тесты очень многообещающие.
Сокращение времени примерно на 50% по сравнению с PHP 7.
PHP8 JIT отлично справляется с нетривиальными задачами, особенно математическими, и также перспективен для неблокирующих (асинхронных) приложений. Однако JIT не сделает PHP C языком внезапно, код все же нужно как-то сильно оптимизировать, чтобы увидеть реальную мощь JIT.
Посмотрите этот пример Мандельброта (Proof-of-Concept) Зеева Сураски, чтобы увидеть, насколько мощным является JIT в PHP 8.