Выбор ответа Senior PHP 8.x: enum, readonly, match обновлено
JIT в PHP 8
Вопрос
Когда JIT в PHP 8 даёт заметный прирост?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: На CPU-нагруженном коде, а не на ожидании базы. JIT работает поверх OPcache (без него не включается) и компилирует горячий байткод в машинный код.
Варианты ответа
- Всегда ускоряет веб-приложения в несколько раз
- На CPU-нагруженном коде, а не на ожидании базыправильный ответ
- Только при выключенном OPcache, иначе они конфликтуют
- Только для кода с
declare(strict_types=1)
Разбор
JIT работает поверх OPcache (без него не включается) и компилирует горячий байткод в машинный код. Веб-запрос обычно ждёт базу, сеть и диск, а не CPU, поэтому выигрыш скромный. Заметный эффект на вычислительных задачах. Строгая типизация на JIT не влияет. В PHP 8.4 JIT получил новую реализацию на основе IR.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.