Что такое 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.

Другие вопросы по тегам