Pull to refresh

Comments 27

Спасибо. А замеры производительности были/будут — версия ниже и 7.4?

В этой статье я рассказывал про наши эксперименты. Если коротко, то на тестовом эндпоинте PHP 7.4 давал +10% в сравнении с PHP 7.2, включение preload давало ещё +10% сверху.
Сколько будет в реальности — узнаем, когда перейдём, и, возможно, поделимся результатами, если они будут интересные. :)

UFO just landed and posted this here

Основная проблема — как это проверить не переписывая всё на "java, asp.net core и тд".

UFO just landed and posted this here
А для чего им это делать? Переписывать все на Java они явно не будут, даже если окажется что Java быстрее.
Этой краткой заметкой хочу пригласить к обсуждению: пробовали ли вы уже PHP 7.4? Если да, то каким был ваш опыт? Собираетесь ли переходить?

Да, будем переходить. Нет, еще не пробовали, так как пока что в докере даже нет образа под данную версию языка для наших нужд.

А вообще, учитывая, что мы живем со строгим режимом типизации, очень ожидаемой фичей будет типизация свойств классов. Давно пора. Ну и еще поддержка вариантов типизации вроде ?false. Раньше такое можно было только в аннотациях указать, теперь будет поддерживать сам язык.
пробовали ли вы уже PHP 7.4? Если да, то каким был ваш опыт?

Перевезли prod, когда вышел 7.4RC6.
Столкнулись с проблемой утечки памяти в расширении parallel (issue) — ждём реакции krakjoe, автора расширения и разработчика php.

Также есть проблемы с типизированными свойствами при развороте тестовой БД из Doctrine-фикстур. При получении неинициализированных lazy-объектов сущности из reference-репозитория фикстуры выходит Entity::$property must not be accessed before initialization, при $em->flush().
Кто-нибудь пробовал в связке с недавно вышедшим Symfony 4.4lts?
Soft Mocks-то свою задачу выполнил, позволил вам обновиться без особых проблем?

Если только не считать то, что Soft Mocks сами(и частично работу с ними) пришлось править под 7.4 :)

Да, это в целом понятно :). Вопрос в том, сколько усилий для этого пришлось приложить? Легче ли это чем править расширение runkit/uopz? В github.com/badoo/soft-mocks, к сожалению, не вижу правок под PHP 7.4 пока что (возможно, не туда глядел).

Мы пока в процессе, ещё не публиковали, но уже скоро.
Хотя зачем они тебе? :-)

Мне они не нужны :). Мне просто любопытно.
PHP 7.3 был итак уже очень быстрым и удобным. С Laravel — просто конфетка, но 7.4 — ТОРТ. Я уже пробовал эту версию языка на практике и показатели удивляют… Всем советую перейти на новую версию, не пожалеете!
UFO just landed and posted this here
обновился в dev пока окружении, ускорение в среднем миллисекунд на 20. preload пока не использовался
Вот скажем, если в ванильном PHP разница скорости запросов не велика, но в Laravel, когда я с базы экзекютю все данные, разница в скорости — где то 60-76 мс. По моему, в больших проектах каждая миллисекунда на счету. И ещё, форуме medium официально заявили, что до версии PHP-v8.x они будут апгрейдить исключительно для framework-ов. Посмотрим что из этого выйдет…
А как у вас происходил именно переход? Вы часть серверов «отключали», обновляли и снова запускали в строй?

Как обновление происходит у маленьких компаний, кто не располагает кластером серверов, а, допустим, лишь одним php-сервером? Процесс, должно быть, быстрый. Если кто обновлялся «на живую», расскажите.
UFO just landed and posted this here
nginx + php-fpm и того проще. Запускаешь отдельный инстанс php-fpm, всё настраиваешь, правишь сокет в конфиге nginx, делаешь systemctl reload nginx. Без простоя совсем.
Как вы поставляете php на сервера? Компилируете? Самосборные пакеты из спеков?

Компилируем сами, потому как есть в том числе свои расширения.
Способ доставки даже проще — просто rsync завёрнутый в небольшую обёртку.

Я бы не сказал, что эта обертка такая уж небольшая :). Особенно учитывая количество времени, потраченного на его отладку.

Ну учитывая когда была написана большая её часть)

А вы быстро рветесь в бой, предпочитаю подождать версси х.1 :)
По поводу возвращаемых значений false|null|"" хорошо спасает phpstan, проще один раз отрефакторить но потом легче обновляться будет.
А я только перешел с 7.1 на 7.2, прирост заметил только в консольных командах — отчеты начали генерироваться заметно быстрее. Код покрыт тестами на 10% и в плане увеличения движется очень медленно…
Sign up to leave a comment.

Articles