Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129249 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id F24171A00BC for ; Sat, 15 Nov 2025 22:24:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1763245487; bh=BZIcJO5CWxRFeZJOYM6I7Xgti3Os7e845VPMSVIohCM=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=aAA8KA44hitxZj+ocmxuzBaM8kPQDmk87bWFPlRBvZLR3Sa1+KNzk8Es3jj11qyT8 UuNtWHo0tlePJFQcsIYNTkilBA/6zbK593zjmKk+RkNKY8+ojgh2vgMW/UMfhPR3/P s0GQbau6KboSHwgbvAaiV8seYe5IRtqyIaVPjV0p999xvNTez5FTbHe+Q+f69n4Xxf OZW/dqtn6nrLkMCuHLjO2vnWb5qA6+EznfOHBGC6OHuIPtAOcbq/GTnvmcyeslvu8a GivfsvZRlPd6OPAFef17U8omjgguYekGDUZdU6YfVtXUichDnRlX5dRKFvollHDIpa qwIOrsa1K3/vQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B4400180558 for ; Sat, 15 Nov 2025 22:24:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: * X-Spam-Status: No, score=1.8 required=5.0 tests=BAYES_50,DMARC_NONE, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,T_SPF_TEMPERROR autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-ot1-f53.google.com (mail-ot1-f53.google.com [209.85.210.53]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sat, 15 Nov 2025 22:24:43 +0000 (UTC) Received: by mail-ot1-f53.google.com with SMTP id 46e09a7af769-7c75fc222c3so4279a34.0 for ; Sat, 15 Nov 2025 14:24:38 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763245478; x=1763850278; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=BZIcJO5CWxRFeZJOYM6I7Xgti3Os7e845VPMSVIohCM=; b=K3eBmZf7XQZhhPeCe1zcO/2VHx/b3pqaWgvRQ8ZEx6hZ6st9PYV1IB90QkBxUkNAYA UdTpuSsjz5uOfGZCfMjfFW2z7OfTKq/DIgizWBIB9I9v8y7a/HakuLsEXts6k0UxBtz2 2qh9W8kdRkNcLgdfsVyfj12XIUMqp+WoEHwI2pk6XyoaF5Enr6JSjTsR7f7QSlZDPpyT LMqPaIKI1TuVMTHe+rMmelE22jlo9WHz2a5zSRvuVWbDOir4V1Mk68ymQDjqy6LJ94xw kb/TkpnbNrGId8zqDcAD7tp2vGewBlfbwDBInE6mIbO6GMQmYs29RIlF/qsCQV9Ha2XX 8FOw== X-Gm-Message-State: AOJu0YxDXIbmN+MLppZX+aCYVyw0+KIOpTrIt7NezvEGmLmqg1F1QFOP A5IfuU8Mant94yExPsEBgj8PJzScZGFZDmRG8caqv4bZidIZ0EZRUu/OmGfyBIF6Kno6ym2+IwX THy9A49+Q0lUl08zv9Z1UCCQHOSyH4uooMg== X-Gm-Gg: ASbGncuyAcNUX3NHmfAfchEPHe60rc6x6MG27J+hkc6B9xff+UWvoJPoE8QzGKEtOuQ OfHATus8O6z/+EYV0Xz80JjjpqQMwMBmIalBRlMny13yr5c//i1FCZhmWgiAMmvv66OLH98mxpl m39jM3LqG2NRInjT4V/W5xT0LYWa8XoYB30XfceOfWKegS8BTodTRVa+9Xf50WOX6epasGY6eqs Quf0+faVKqTUebw1ZnyQ8Wqp68uUZQzxFxRJRY2+Iihd0IMVzsljyViz+w8cUh4DJtvJQ== X-Google-Smtp-Source: AGHT+IF8hvn3H/k8zM1Os7UJ58AjKe7llhOvgME856ER6BECwkXF5YBX3U7vrCjrwJGlpONY1npB3OPfxlmSgEdoG8k= X-Received: by 2002:a05:6870:224d:b0:3e9:7744:1d4b with SMTP id 586e51a60fabf-3e977448875mr666699fac.4.1763245477794; Sat, 15 Nov 2025 14:24:37 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Sat, 15 Nov 2025 23:24:26 +0100 X-Gm-Features: AWmQ_bmvTEAR3_KEDu7TjTr0Yw5LIJtaQ1Kcahz3H4eta15a9ZmAW_3qerwDMTU Message-ID: Subject: [PHP-DEV] Re: PHP True Async RFC Stage 5 To: Edmond Dantes Cc: php internals , Larry Garfield Content-Type: multipart/alternative; boundary="0000000000005b19120643a99449" From: bukka@php.net (Jakub Zelenka) --0000000000005b19120643a99449 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Nov 15, 2025 at 11:03=E2=80=AFPM Edmond Dantes wrote: > Hello > > > It's 1.6k lines so it might help a little bit > Yeah :) > > > Why do you need reactor for this specific part of proposal? The thing i= s > that there shouldn't be any IO so you reduce scheduler code as well and > make it simpler and more reviewable. > > So you are suggesting removing all I/O from the RFC. On the one hand, > that sounds appealing. It immediately eliminates a bunch of tests. But > there is a trap we could all fall into. > By separating the reactor and the scheduler, as well as the rules of > how they work together, we might accidentally introduce an error into > the document simply because the documents would be split. > (interface drift) > I don't see it that way. You have already implementation showing that this is workable for the proposed user interface so it's just addition into that. I'm not sure how it could even impact user interface that is being proposed? If you are talking about internal interface, then it doesn't matter, because this can be changed (you don't have to keep BC there especially for such a new internal interface like this). > The fact that the I/O rules and coroutine rules are part of a single > document developed together is actually an advantage, just as the > existence of separate RFCs for await and Scope is. > But are I/O rules really part of this document? There are just a few mentioning of I/O and that seems more like a leftover from previous version to me. I don't think it needs to keep reactor in there and mention I/O in other parts. It should just clearly put it to the future scope to make clear that this is something that is part of the plan. Kind regards, Jakub --0000000000005b19120643a99449 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Sat, Nov 15, 2025 at 11:03=E2=80=AFPM Edmond Dante= s <edmond.ht@gmail.com> wr= ote:
Hello

> It's 1.6k lines so it might help a little bit
Yeah :)

> Why do you need reactor for this specific part of proposal? The thing = is that there shouldn't be any IO so you reduce scheduler code as well = and make it simpler and more reviewable.

So you are suggesting removing all I/O from the RFC. On the one hand,
that sounds appealing. It immediately eliminates a bunch of tests. But
there is a trap we could all fall into.
By separating the reactor and the scheduler, as well as the rules of
how they work together, we might accidentally introduce an error into
the document simply because the documents would be split.
(interface drift)

I don't see it th= at way. You have already implementation showing that this is workable for t= he proposed user interface so it's just addition into that. I'm not= sure how it could even impact user interface that is being proposed? If yo= u are talking about internal interface, then it doesn't matter, because= this can be changed (you don't have to keep BC there especially for su= ch a new internal interface like this).
=C2=A0
The fact that the I/O rules and coroutine rules are part of a single
document developed together is actually an advantage, just as the
existence of separate RFCs for await and Scope is.
But are I/O rules really part of this document? There are just= a few mentioning of I/O and that seems more like a leftover from previous = version to me. I don't think it needs to keep reactor in there and ment= ion I/O in other parts. It should just clearly put it to the future scope t= o make clear that this is something that is part of the plan.
Kind regards,

Jakub
--0000000000005b19120643a99449--