Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:113494 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 82402 invoked from network); 12 Mar 2021 14:22:24 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 12 Mar 2021 14:22:24 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 438BB1804F6 for ; Fri, 12 Mar 2021 06:15:09 -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-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) (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 ; Fri, 12 Mar 2021 06:15:08 -0800 (PST) Received: by mail-ej1-f51.google.com with SMTP id lr13so53684880ejb.8 for ; Fri, 12 Mar 2021 06:15:08 -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=I7CdgXW7Oa9FJDArkqzjLDZZrM3jqkLNB/NhvdCGuXs=; b=qVnTSKh+daCQ6QBAUNpietj6Itc9vjGtR0F5ye26aUnhrICMvYoPT1usKSbApzikXG Pa3gZGS3DuiWfhf5kB49gYYIlJr5hCCjCD7cwutka+syI+lTWePGKhfTKWXazAJLRU2o DuzJG7TTnbGiICJXywW0FmDreGUwPW5h1L4p42AK7S7OFxR+w3nGNMOMv49xuJkyy4R9 KnieSvTEFumab1/FBtztoZ/aNM7+3azABWBzMHNmFoycwDRD3FbqzNXJMwUzgtI5ANWc qGlrs+6FBg6lOO2eNfGKiNe4d19mTDmcqMZUEUlhqcTTkEX1TMXbkfJHlKdwU9c2MpBW BwNw== 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=I7CdgXW7Oa9FJDArkqzjLDZZrM3jqkLNB/NhvdCGuXs=; b=QvNxUiB0FwGzI3KdC47QeWoTDi7W43ZhRX2B3EMRsTG5GRuJNBwZqbfi7bnjx1eyC6 GMYzDLXDJZ88y8wWJbas5Ix0kyGTp8GDPsrJyHrDnvVt7HRtHSvkgnnH5Tf28xO+QmkT Z4NoNQAer3LxRJOpycSvR0WH4bSl4u5ICNSCiuSMdemw77DGu5cx03klL9/I8y6DKv/K VOOenLYkj3FMU6l0Wg9xxdyMwEjb6seuocDEv0t46giHgY7b18IuukMTX/+Zp3HnAFYW PI0HeSQ0a2pR4O0Z4GUrRGUoI1MsWeIYXtjggZ2xTeHhZiMzEVkgcmKVHfszHDE+WFft basg== X-Gm-Message-State: AOAM531n4DwPf/h7646X53oq29RdorLAOkPdPTcvgxnEmM9AvILpET6N M3QYdLe3HksC7hyGqGvdFR9LAoL7PA/mhYzF/dI= X-Google-Smtp-Source: ABdhPJy/SEqafPwe8LDrzY/biO5bxIrYrNvyJPXyDgKvPprbRkat4BJbwvRzzE2O8tvoTkZoBq2reVE19raL5uBORZ8= X-Received: by 2002:a17:906:d291:: with SMTP id ay17mr8562193ejb.308.1615558505222; Fri, 12 Mar 2021 06:15:05 -0800 (PST) MIME-Version: 1.0 References: <8812EE70-4720-4639-926E-1EA206624BC1@trowski.com> In-Reply-To: Date: Fri, 12 Mar 2021 14:14:54 +0000 Message-ID: To: =?UTF-8?B?6Z+p5aSp5bOw?= Cc: Dan Ackroyd , twosee , Aaron Piotrowski , php internals Content-Type: multipart/alternative; boundary="000000000000d153a805bd57866c" Subject: Re: [PHP-DEV] [VOTE] Fibers From: george.banyard@gmail.com ("G. P. B.") --000000000000d153a805bd57866c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 12 Mar 2021 at 04:06, =E9=9F=A9=E5=A4=A9=E5=B3=B0 wrote: > Hi Dan, > > > We have no commercial purpose on the swoole open source project. Thi= s > is a purely technical project.  > If possible, we can remove the name of swoole, contribute the source code > of swoole-src to php-src, and transfer the copyright. > Here is just a technical discussion. My opinion is that if PHP will > support fiber/green-threads, this is a major change, should redesign > language syntax, standard library, ZendVM. > This proposal must be discussed extensively and in-depth, should not > make a hasty decision. > > > There are 7 parts to consider with my experience: > > EventLoop API > > > Fiber/Coroutine/GreenThread > > > IO-Scheduler (Socket/FileSystem/ChildProcess/Signal/Timer/Stdout/Stdin) > > > CPU-Scheduler > > > Compatible with existing extesions  > (php_streams/ext-sockets/ext-redis/ext-mysqli/ext-pdo-mysql/ext-curl ...) > and builtin-functions (sleep/gethostbyname/proc_open/file_get_contents) > > > Service container, How to support php-fpm and provide a coroutine > version of http server > > > Coroutine communication, How to pass messages between two coroutines > > It=E2=80=99s nice to see php has such topic. This may be the key technolo= gy in the > next generation of PHP. > > > > Thanks > > > Tianfeng.Han > So from what I understand, and correct me if I'm wrong, you're against Fibers because it doesn't include all the other systems needed to make them immediately usable with the traditional APIs? This sound a bit to me to wanting to run a marathon before even having learned how to walk. You said it yourself Swoole took *years* to implement all those changes, and which is pure feature creep for what the RFC process is designed for IMHO. The point of this RFC, from what I see, is to bring the foundational system into core upon which one can build upon, be that in userland or in the extension land (when an internal API is added). Upon which all of those different tools can be added to the language independently, via separate RFCs, by being a PHP library or a PHP extension= . So can you please explain to us, why *not* adding one of the seven parts you've stated are necessary and doing gradual implementations of the other tools should not be done? Because if the idea is to add all of these tools at once in a massive RFC, I feel this is going the same way as trying to add unicode support to PHP, and we know where that ended. Best regards, George P. Banyard --000000000000d153a805bd57866c--