PHP 8

123 4
L
На сайте с 10.02.2015
Offline
132
#11
Мне не хватает аналога let из js
Dreammaker
На сайте с 20.04.2006
Offline
555
#12
Евгений Крупченко :
В некоторых синтетических тестах да, вкл/выкл JIT разница скорости получается в несколько раз. Однако на реальных сайтах скорей всего разница если и будет, то мизерная.

Если я правильно понимаю, то JIT - это больше для математики, и прочего ИИ (то есть, пытаются догнать python в этом плане), для обычных сайтов влияния особого не будет.

Ну и нужно не забывать, то неправильно поставленный или непоставленный индекс в базе перекрывает оптимизации в языке :)

LEOnidUKG
На сайте с 25.11.2006
Offline
1577
#13
Dreammaker #:

Если я правильно понимаю, то JIT - это больше для математики, и прочего ИИ (то есть, пытаются догнать python в этом плане), для обычных сайтов влияния особого не будет.

Ну и нужно не забывать, то неправильно поставленный или непоставленный индекс в базе перекрывает оптимизации в языке :)

Там ускорение добились благодаря строгой типизации т.к. вырезали кучу вольностей. Это только начало, будет как с 7 версией. 7.0 и 7.4 это совершенно разные скорости.

Нужно не забывать, что корявый и тупой код перекрывает оптимизацию индексов в БД. 

✅ Трастовых площадок под размещение статей и ссылок. Опыт 12 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Ускорение ваших сайтов (WP, Opencart и др.) + Настройка сервера ( https://searchengines.guru/ru/forum/997205 )
edogs software
На сайте с 15.12.2005
Offline
734
#14

php определённо свернул куда-то не туда.

Поломали очень много совместимостей, при чем зачастую без дела и не логично. Очередной раз. Началось это еще с 5.6.
Теперь найти прогера на какой-нибудь легаси проект, даже если это легаси 7-ка, будет крайне сложно, т.к. человек должен будет знать не только сам язык, но и все вот эти вот не совместимости начиная хотя бы с 7.0, а их до фига и они зачастую мелкие и неприятные, вылезающие в виде багов, а не ошибок.

Нововведения все - попахивают явой, а скорее даже котлином. Что особенно доставляет с появлением jit. Делают из php по сути котлин с немного другим синтаксисом. А ведь был отдельный язык со своими особенностями.

Если бы мы хотели писать в ява стиле, мы бы на яве и остались.
Собственно писать под 8-ку мы конечно будем, но проекты работающие на 5.6-7.х на 8-ку переводить не будем, скорее всего к тому моменту, когда это будет действительно нужно, будет какая-то более разумная альтернатива php .

Предполагаем что когда 8-ка серьезно станет на ноги, то прямым конкурентом ей уже будет какой-нибудь котлин компилирующийся напрямую в php-шный JIT, заодно и с фронтэндом благо он и в js может компилиться, да и в андроид приложение в конце концов.  И тогда писать на php будет абсолютно бессмысленно, так же бесмысленно как группу детского сада набирать для разгрузки чугуния, когда рядом есть серьезные дяди. Потому что даже 8-ка php это нечто вроде явы 20 летней давности по куче параметров. Сделали блин из профессионального боксера начинающего балетуна, ага.

Наш совет тем, кто еще в php не дальше миддла. Бросайте это дело и уходите на другие языки. php переходит в тот тип языа, где на фоне конкурентов  лучшее что он сможет сделать, это сложить руки на груди и лежать спокойно, пока его хоронят. Точно так же в свое время помер delphi, если кто помнит, кто не помнит, почитайте историю.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход.
edogs software
На сайте с 15.12.2005
Offline
734
#15
Dreammaker #:
Если я правильно понимаю, то JIT - это больше для математики, и прочего ИИ (то есть, пытаются догнать python в этом плане), для обычных сайтов влияния особого не будет.

Смотря какой сайт и что именно ускорять. Просто странички отдавать понятно, что особой выгоды не будет.
ИИ вообще должно быть реализовано в библиотеке на сях, т.к. все эти питоны с пхп для ИИ это все равно что здорового человека на костыли поставить.

У одного клиента у нас партнерка достаточно сложная, МЛМ принцип с хитрым маркетинг-планом. С базой конечно работа есть, но очень много обсчетов выплат, связей, бонусов и прочего на php. 8-ка показала себя на живой выборке быстрее процентов на 20%. Включение опкэша давало почти те же 20%. Ну и переход в свое время с 5-ки на 7-ку дал вообще двухкратное ускорение. А вот что нам не понравилось, так это то что 8-ка стала жрать больше памяти. На 7-ке с опкэшем укладывалась в 24гб стабильно, на 8-ке максимум в районе 54гб.

Тестили еще на одном проекте, там криптобиржа небольшая. Опкэш особо ничего не дает, т.к. в принципе все демон обрабатывает, а вот 8-ка дала снижение нагрузки на сервак процентов на 10, хотя запросы быстрее не стали обрабатываться.  Но памяти тоже стало жрать в полтора раза больше.

Забавно что видимых ошибок при запуске на 8-ке не было, но в виде багов 95% что где-нибудь проявятся, т.к. некоторые изменения меняют поведение очень незаметно и даже тестами не обязательно это можно поймать. Вот это самое неприятное - отсутствие уверенности в правильной работе.

Учитывая увеличенную пожираемость памяти - ну его на фиг пока на рабочем сервере в любом случае.

SeVlad
На сайте с 03.11.2008
Offline
1432
#16
Dreammaker #:
Если я правильно понимаю, то JIT - это больше для математики, и прочего ИИ (то есть, пытаются догнать python в этом плане), для обычных сайтов влияния особого не будет.

Там работа принципиально другая https://habr.com/ru/company/otus/blog/509598/

Упрощая вещи: когда JIT работает должным образом, ваш код не будет выполняться через Zend VM, вместо этого он будет выполняться непосредственно как набор инструкций уровня процессора.

В этом вся идея.



Понимаем JIT в PHP 8
Понимаем JIT в PHP 8
  • habr.com
Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP»
Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Топики помощи с ⓌordPress (https://searchengines.guru/ru/forum/1032910 ) и основы безопасности сайтов ( https://searchengines.guru/ru/forum/774117 ). *** Помощь\консультации в топиках форума - БЕСПЛАТНО. Платные услуги ( https://wp.me/P3YHjQ-3 ) - с бюджетом от 150$ ***
ArbNet
На сайте с 27.10.2019
Offline
69
#17

Сделал в некоторых местах правки иииииХааааа 😍 мой движок заработал на PHP 8 👍 Думаю со временем ещё могут появится ошибки.

Блажен, кто не стремится сделать лучше: он не рискует быть не понятым.
LEOnidUKG
На сайте с 25.11.2006
Offline
1577
#18
ArbNet #:

Сделал в некоторых местах правки иииииХааааа 😍 мой движок заработал на PHP 8 👍 Думаю со временем ещё могут появится ошибки.

Там в основном не ошибки проявляются как таковые, а использование "доброты" старого PHP, который многое прощал.

Закинуть пустую строку вместо массива? Ой, да с кем не бывает, всё ок.

implode/explode поменять местами элементы входные? Не парься, всё ок

и т.д.

Теперь это всё ушло в прошлое. Строгий дядька PHP8 не прощает такого.

ArbNet
На сайте с 27.10.2019
Offline
69
#19

Согласен, но в 7м тоже насчтёт этого строгость была, правда в некоторых случаях 7ка давала вольность, поэтому у меня в принципе практически не было правок чтобы завелось .

Вот например:

было
in_array('admin',$_SESSION['access'])

стало
in_array('admin',(array)$_SESSION['access'])

То есть в семёрке если не было значения в $_SESSION['access'] то ошибки не было, в 8ке нужно делать приведение к типу

LEOnidUKG
На сайте с 25.11.2006
Offline
1577
#20
то ошибки не было, в 8ке нужно делать приведение к типу

Я думаю вы всё равно костыль сделали.

Надо делать проверку на существования 

$_SESSION['access']

И если там ничего или он не массив, то вообще не выполнять условие.

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий