The OpenNET Project / Index page

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



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

Оглавление

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

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


1. "Релиз языка программирования PHP 8.1"  –2 +/
Сообщение от Онаним (?), 25-Ноя-21, 21:14 
Fibers - это вкусно и полезно. Особенно для сложных кооперативных тасков.
Производительность правда ожидаемо хуже линейных тасков на генераторах. Накладные расходы на переключение контекста выше в два раза по факту, что в общем и логично, контекст генератора собственного стека не имеет, в отличие от файбера.
Ответить | Правка | Наверх | Cообщить модератору

5. "Релиз языка программирования PHP 8.1"  +28 +/
Сообщение от pavlinux (ok), 25-Ноя-21, 21:31 
> .. кооперативных тасков... линейных тасков на генераторах.... контекст генератора ... в отличие от файбера.

Шоб с тобой дети на Brainfuck общались!

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

63. "Релиз языка программирования PHP 8.1"  +2 +/
Сообщение от YetAnotherOnanym (ok), 26-Ноя-21, 11:10 
Ачотакова? Мы же не говорим "нити", мы говорим "треды" (ну, иногда "потоки"). Здесь то же самое.
Ответить | Правка | Наверх | Cообщить модератору

76. "Релиз языка программирования PHP 8.1"  –2 +/
Сообщение от Аноним (76), 26-Ноя-21, 11:50 
"тасков", здесь однозначно есть русскоязычный аналог.
Ответить | Правка | Наверх | Cообщить модератору

84. "Релиз языка программирования PHP 8.1"  +4 +/
Сообщение от YetAnotherOnanym (ok), 26-Ноя-21, 12:19 
"Анатолий Борисович, ну зачем вот это вот «ваучер», ведь есть же хорошее русское слово - «приватизационный чек»" (ц)


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

162. "Релиз языка программирования PHP 8.1"  +/
Сообщение от Онаним (?), 28-Ноя-21, 22:20 
Ну я могу полностью на английский перейти, но половина ж не всё поймёт.
Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

117. "Релиз языка программирования PHP 8.1"  +2 +/
Сообщение от Аноним (117), 26-Ноя-21, 18:57 
Всегда говорим потоки.
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

67. "Релиз языка программирования PHP 8.1"  –2 +/
Сообщение от Онаним (?), 26-Ноя-21, 11:23 
Ну сорян, гуманитариям просьба не беспокоить.
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

13. "Релиз языка программирования PHP 8.1"  –4 +/
Сообщение от kai3341 (ok), 25-Ноя-21, 21:51 
А можешь пояснить за файберы? Это асинхронность завозят?

PS: я не похапешник просто. Расскажу, с чем сталкивался

В python корутины -- это по факту генераторы. Прикольно, что простейшую корутину можно await-нуть вне event loop. Ржачно, что await и yield from -- это на уровне байткода одно и то же, и поэтому нельзя сделать yield from в асинхронном генераторе. Впрочем, устранимо -- нужно только на уровне байткода окончательно развязать корутины с генераторами

В JS асинхронность на промисах -- суть коллбэки. Питонячья асинхронность выглядит чуток костыльной на фоне промисов, но она работает и работает хорошо

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

68. "Релиз языка программирования PHP 8.1"  +1 +/
Сообщение от Онаним (?), 26-Ноя-21, 11:26 
Ну вот раньше да, кооперативные таски (которые в отдельных местах обозвали coroutine) приходилось лепить на генераторах. Минус - невозможность прервать исполнение в вызываемых процедурах/методах, потому что yield доступен только из процедуры/метода самого генератора.

Разница в том, что в отличие от генератора у Fiber есть свой сохраняемый стек вызовов, и соответственно Fiber можно прервать откуда угодно, ну и чуть более логичные названия служебных методов, не просто там next() от перечисления, а явное resume(), и явный старт через start(), с генераторными тасками надо current() вызывать, выглядит жутко уныло :D

Остальное по сути всё то же самое, всё так же из resume возвращается значение, всё та же инициализация, etc. Ещё можно внутрь Fiber'а Exception бросить, но применения этой шляпе я не придумал пока.

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

22. "Релиз языка программирования PHP 8.1"  +/
Сообщение от Аноним (22), 25-Ноя-21, 22:18 
попробуйте также swoole/openswoole - более полноценная штука чем просто одни файберы
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

30. "Релиз языка программирования PHP 8.1"  –4 +/
Сообщение от Аноним (30), 25-Ноя-21, 23:34 
Laravel вдохновлялась Рельсами, теперь вот еще Fiber завезли из Ruby'07. Бххх.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

31. "Релиз языка программирования PHP 8.1"  +/
Сообщение от Аноним (30), 25-Ноя-21, 23:35 
Ruby'17, конечно. Опечатка.
Ответить | Правка | Наверх | Cообщить модератору

42. "Релиз языка программирования PHP 8.1"  +1 +/
Сообщение от Аноним (42), 26-Ноя-21, 01:51 
Winapi, скорее.
там они чуть с первой версии ос появились.
Ответить | Правка | Наверх | Cообщить модератору

70. "Релиз языка программирования PHP 8.1"  +/
Сообщение от Онаним (?), 26-Ноя-21, 11:40 
Laravel сбоку, а Fiber завезли в кору.
Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

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

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




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

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