Comments 10

Как я понимаю, активный тайпхинтинг в стрикт режиме должен значительно повысить качество и/или частоту компиляции — пара простых проверок входа-выхода без всяких попыток приведения, после которых у нас типы железно известны (про union типы из той же 8 забудем).


Про ввод-вывод и тайминги не очень понял. Вот было, например, 300 мс у запроса, из них 50 мс php и 250 sql. Пускай jit уменьшил до 25мс php, стало 275. Типа немного, согласен. Но это на одном запросе. Но это нам позволит снизить потребление процессора в 2 раза. На каждый запрос будет приходиться в 2 раза меньше процесорного времени. Это большинству приложений неважно?

А если предположить, что у нас есть демоны и очереди, которые постоянно работают и обрабатывают сотни, а порой и тысячи объектов в секунду — оптимизация выглядит весьма значительной (особенно приятно будет тем, кто работает в облаке и у него не постоянные превышения мощности, а периодические, подобная оптимизация может значительно сэкономить средства).
> Это большинству приложений неважно?

Да! Большинство приложений даже на 30% не загрузят самый вялый дроплет за $5 на DigitalOcean. Но «если вдруг», то пололок очень высок, к тому же слой серверного кода обычно легко масштабируется, в отличие от слоя БД например… Так что да… 50мc или 25мc разницы нет обычно (кто кстати сказал что оно даст 2x прирост?)
Понимаем JIT в PHP 8
Understanding something — типичный заголовок обучающей статьи на английском языке. Не стоит переводить его дословно, потому что на русском это звучит очень неестественно. Лучше придумать новый заголовок для статьи исходя из её содержимого. Например, «Разбираемся с JIT в PHP 8».
Не имеет значения, скомпилированы ли операции обработки, если вам все равно придется обращаться к диску или сети. Тайминги будут очень похожи.

…а потом окажется, что это даст +100500 к скорости работы доктрины, например, которая гоняет и хранит данные через тонну (плохо) типизированных (хорошо) прокладок внутри себя.

Важно понимать, что jit php не будет похож на jit java.
Насколько понял, от усложнения решили отказаться, чтобы хоть что-то вообще работало.
У java jit довольно сложный, много аналитики, много оптимизаций. И хотя конечный результат не дотягивает до результата монструозных компиляторов для C++, но всё же достаточно хорош.
У php jit будет намного проще, без сложной аналитики и оптимизаторов. Профилирование будет примитивным, и ускорение получит малая часть кода, причем не слишком большое, т.к. никаких сложных оптимизаций нет.
Но и это лучше, чем ничего. На каких-то кейсах даст пусть не особо большой, но профит.


Но даже без всего этого php сейчас работает достаточно быстро, подбираясь к java и C++.

И хотя конечный результат не дотягивает до результата монструозных компиляторов для C++, но всё же достаточно хорош.
Но даже без всего этого php сейчас работает достаточно быстро, подбираясь к java и C++.

[citation needed]
Поверхностно, но действительно понятно чего ждать и почему так. Спасибо за перевод.
Only those users with full accounts are able to leave comments. Log in, please.
Information
Founded

1 May 2017

Location

Россия

Website

otus.ru

Employees

31–50 employees

Registered

22 March 2017