The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз языка программирования PHP 8.1, opennews (?), 25-Ноя-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


80. "Релиз языка программирования PHP 8.1"  +/
Сообщение от Онаним (?), 26-Ноя-21, 12:01 
Ну я попробовал, не зашло, . В итоге нарисовал свой кооперативный тасклуп, универсальный для различных вариантов имплементации - генераторы, файберы, просто state-machine routines, который расширенный эвентлуп с кучей сахара, и не требует никаких расширений.

Конкретно не зашла event model, вот эти вот все ->on, который превращают любой мало-мальски сложный код в nesting hell.

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

131. "Релиз языка программирования PHP 8.1"  +/
Сообщение от Онаним (?), 26-Ноя-21, 21:50 
Более адекватной выглядит линейная модель задач, когда кооперативный таск выполняется линейно, как любой нормальный код, но может в любой момент сказать "я idle", и отдать управление планировщику. Или сказать "управление отдаю, но хочу вызваться на следующем цикле" - контроль за latency.

Потому что все эти event-модели в один поток сталкиваются с одним и тем же: любой тяжёлый код внутри эвента, и ваши эвенты больше за разумное время не обрабатываются. И как раз Fiber на линейную организацию кооперативных задач ложится очень хорошо.

Ожидание же эвентов, возможно более одного эвента, решается возможностью порождать дочерние задачи (промисы), которые что-то делают, например ждут этого самого ->on коллбэка, или поллят, или кофе варят, и дальше отдают исполнение основной задаче, как только что-то изменилось. Банальный WaitOn()/WaitOnAny() для набора промисов.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру