All streams
Search
Write a publication
Pull to refresh
18
0
Масюкевич Максим @mmasiukevich

Software developer

Send message

А вы не думаете :)
Там есть ответ, но вы явно не очень понимаете как работают рутины в прочих языках и в чём отличие именно в голанге (в сабже есть).

Ни у кого нет.
И вы всё ещё не понимаете почему Горутины, а не Корутины.


Эт бывает

это как раз вы на те же грабли прыгнули :)
Я бы на вашем месте посмотрел чем Горутины отличаются от условных Корутин.


p.s. не только 1 буквой из соображений маркетинга.


Что касается межпроцессного взаимодействия, то в пхп нет ни единого юзкейса для этого

Для cpu-bound есть воркерпул у того же ампа. Процессы проще и надёжнее :)
Что касается горутин, то вас не туда понесло)

"асинхронность другого типа"


Заканчивайте, не смешно уже.

традиционный — это просто способ подчеркнуть что имеется в виду)
pthreads умер давно, да и не нужен он :)

  1. Вы не разобравшись в сабже написали тест и сделали это ожидаемо хреново. Ещё раз: оно медленнее только потому, что неправильно написано.
  2. Ничего смертельного в отсутствии xdebug нет. Научит вас логи нормальные писать :)

...


  1. Просто потому, что пхпшников, которые умеют в конкаренси код, единицы. И все они пишут на более "взрослых" языках.

Позволю себе вмешаться.


Поток в php всегда 1. И в традиционном, и с помощью amphp
Код выполняется не параллельно, а конкурентно. Разница в словах маленькая, но существенная в деле

Проблема в том, что вы абсолютно не понимаете, как работает конкурентный код. для вас всё — асинхронность, что не совсем верно (в корне не верно). Но пойдём по порядку.


  1. Разница будет видна и на 1 записи, и на 10 разом. В обоих случаях запись не блокирует общий поток выполнения и во время записи можно сделать что-то ещё.
    Мультикурл будет блокировать поток выполнения и работает совершенно иначе. Но мы уже выяснили, что вы не очень понимаете разницу. Что касается вашей демонстрации, то там просто код неверный. А не "PDO быстрее"


  2. В реальном коде их будет меньше, ибо большая часть бойлерпринта скрывается за инфраструкторой и тот же луп инстанцируется ровно 1 раз где-то там, в точке входа.


  3. Ничего не понял, но звучит круто


  4. Ну это ведь всё меняет! Пойду на авторов bc-math пожалуюсь. А то иш чё удумали, из коробки нету, кафно.


  5. Практически всё, что дальше после 4-ого пункта — мусор, который к реальности отношения не имеет и комментировать его нет смысла.


  1. Он всегда быстрее, если вопрос касается I/O задач.
  2. Он остаётся таким же понятным и простым, добавляется лишь ключевое слово yield/yield from. В остальном никакой разницы
  3. Да, xdebug не дружит с корутинами. Но это проблема не только php
  4. pdo — тоже дополнительная библиотека. Равно как и всякие dbal'ы

p.s. Вот вам немного синтетики: https://github.com/php-service-bus/performance-comparison#details
то, что выше — криво, косо и не показательно.

В нагрузку к amphp/http-server можно взять amphp/cluster. Мир заиграет новыми красками ;)

вы правда считаете, что по поводу static в return declaration писали только вы и самый первый аж 23-его декабря?) Ведь это на столько не очевидный кейс...

psalm, phpstan, phan… inspect в шторме наконец.
Но нет, люди продолжают придумывать себе проблемы) на что только не пойдёшь лишь бы не работать

а зачем оно тогда в статье?

но из-за особенности php-fpm в официальном образе docker получаем в docker logs

7.3 спешит на помощь, не?

Я писал об этом в сабже. В случае реакта, придётся самому пилить.

удобнее так :)


        try
        {
            $userData = yield $repository->findUserByEmail($email);

            if(null === $userData)
            {
                yield $this->createUser($email, $password);
                yield $this->sendAckSuccess();
            }
        }
        catch(\Throwable $throwable)
        {
            /** ... */
        }

Потоков в php не густо (всего 1). А вот как только будет 2 промиса, в рамках которых необходимо выполнить транзакции, будет ждать сюрприз.

Information

Rating
Does not participate
Location
Alkmaar, Noord-Holland, Нидерланды
Date of birth
Registered
Activity