Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:113450 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 1039 invoked from network); 10 Mar 2021 19:32:39 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Mar 2021 19:32:39 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 04181180087 for ; Wed, 10 Mar 2021 11:24:59 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,BODY_8BITS, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-ot1-f46.google.com (mail-ot1-f46.google.com [209.85.210.46]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 10 Mar 2021 11:24:55 -0800 (PST) Received: by mail-ot1-f46.google.com with SMTP id n23so11893165otq.1 for ; Wed, 10 Mar 2021 11:24:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+GZbCX6qFywH8xARlX4ze2LXrAW0ABkx8wkpVrJmBOg=; b=NY+nR6JbZ+SfCsetkwkJPx7uNYTf3ktGp2UajxVRqYk9FebPeHpOEPHpckXtlFdqsW I/oTkr0XNCN8QRfZPakUFuUzsDEvHLit0NsELWBDGY+MsYaLCEjoG87Jibd3ES+FdGc9 ur8MW1zlrOmz8DJsvTpjac7nLII7eX1Dh8/P2U+yV3PVv2gJAJdoUj7zIjHjpPCrn8kV ujgUSYe2dU4cl3w9C1didRU0aKmxItzpG3WiE/2NyavISmJe4HA6s96470iFr2wToDd3 Ue5cgJXdo0nOS+K915jksjOLTze6rHlyvPwlDW4Q0TvaM4KX4SRZQNoQS/YXCqqH3mDS wwjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+GZbCX6qFywH8xARlX4ze2LXrAW0ABkx8wkpVrJmBOg=; b=BYsBhInsMmrdkJeJbMbts9xMok+agy3CqWiu3dOv+qrXIX3ydK2qlZW/j8b7zOLNx7 x8GT8O6wWkCFOjclzvE65NoTfc9Oe7K9jk1GT+4l/lQs6FiD2echFBzRZ7Ib4BBDCkc7 ZQ19OqpGzgkc0gqI67Z5264mNw76Ja4sp1ZHzloNM2rCoHXF9f+UugvzyHWpYp1R6FAm 4CBisafcs9dEoonN2iti2CPqMJqNiEqieN6SWF8lo8kCTUq1cOoepgeAP7icJjRfXpEc VTl3zZ6cNAiQcly8OrQstiOLONJ41+fNbaIxZZtym3ReqHX8a2GD1zqBYyiQy/dWmuzT TAYg== X-Gm-Message-State: AOAM5333PjSlBYe2vDSnc0LhvjDhhWvYLSWjTmdfV5DwP64I9KcG/WGD nSEUA12NR0I03htya53iNKmwfSeYak3Ej2eW57+QE8TDKdI15A== X-Google-Smtp-Source: ABdhPJyPQWWGjnGEA2eGfTB/bjp2ThnipKQSlZQcPXLXW5bXMuO0TOZdDetwCeP/rCGuSj9yGLOfT+Bgw5MIpMJoqmM= X-Received: by 2002:a9d:480d:: with SMTP id c13mr3844716otf.149.1615404294659; Wed, 10 Mar 2021 11:24:54 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Wed, 10 Mar 2021 20:24:42 +0100 Message-ID: To: =?UTF-8?B?6Z+p5aSp5bOw?= Cc: Aaron Piotrowski , php internals Content-Type: multipart/alternative; boundary="00000000000026e33605bd339f4c" Subject: Re: [PHP-DEV] [VOTE] Fibers From: ceesjank@gmail.com (Cees-Jan Kiewiet) --00000000000026e33605bd339f4c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hey Tianfeng.Han, > I am afraid that fiber can only be used in the amphp framework and is of no value to other php projects. My name is Cees-Jan and I'm one of the core maintainers of ReactPHP, and I strongly disagree with this statement. While it might not be of value to Swoole, it will provide a lot of value to the ReactPHP ecosystem. Even when we won't implement it throughout the project, but only at the edge our consumers will benefit from greatly the edge support. Building a Guzzle adapter is suddenly feasible again because we can pause at specific points and make them compatible. We can do full native PSR-15 suppose in react/http for the exact same reason when fibers land in core. In the past I used monkey patching and Generators for this, and also did a version with ext-parallel. But fibers? Fibers will make this native without the need for hacks or make awkward use of extensions. > In my opinion, Fiber is just an enhancement of Generator. In a sense it is, and I very much welcome that. And I don't see that as a bad thing, especially since Generators where never designed with this use in mind. So having a dedicated API for it is a huge plus for me. Cheers, Cees-Jan On Wed, Mar 10, 2021 at 11:16 AM =E9=9F=A9=E5=A4=A9=E5=B3=B0 wrote: > Hi everyone: > > > My name is Tianfeng.Han, I am founder of Swoole project. We have done a > lot of exploration in cli server side programming of php. > > > I think, ext-fiber is more suitable as a PECL project. Coroutine and > asynchronous IO is a new concurrency model, This is very different from > blocking IO. > > > I am afraid that fiber can only be used in the amphp framework and is of > no value to other php projects. > > > If the PHP language wants to support CSP programming like Golang, > asynchronous IO and coroutine system can be designed in the next major > version (PHP9), this requires a lot of work. > > > from: Tianfeng.Han > date: 2021/03/10 >   > ------------------ Original ------------------ > From:  "Aaron Piotrowski" Date:  Wed, Mar 10, 2021 04:02 PM > To:  "php internals" > Subject:  Re: [PHP-DEV] [VOTE] Fibers > >   > > > > On Mar 8, 2021, at 1:40 PM, Aaron Piotrowski wrote: > > > > Greetings everyone! > > > > The vote has started on the fiber RFC: > https://wiki.php.net/rfc/fibers > > > Voting will run through March 22nd. > > > > Cheers, > > Aaron Piotrowski > > Hi all! > > A concern was raised off list that due to the complexity of the way this > feature interacts with the engine, it may be best to mark the feature as > experimental. This would allow some changes to be made to certain edge-ca= se > behaviors and, while I don't think it would be necessary, the public API. > > We (Niklas and I) agree with this and propose that if this feature is > accepted, it is marked as experimental through the 8.x release cycle or > until we're comfortable removing that label, whichever comes first. > > Experimental in this context would mean fibers would be compiled and > available in all releases, but the documentation would denote that > behavioral and API changes may be made in future minor releases =E2=80=93= use at > your own risk. > > As this feature is targeted at library authors and not average PHP users, > we believe there would be little effect to the community to take this ste= p. > > Cheers, > Aaron Piotrowski > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: https://www.php.net/unsub.php --00000000000026e33605bd339f4c--