Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128823 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 CDFD41A00BC for ; Mon, 13 Oct 2025 18:15:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1760379312; bh=YICm2hDjnGTxc8a7pwXq91Xo1pTTODNo/2PzzN4rNCg=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=RYeH6EkSKDXgPSoOA1jl96+N1ic8I2Ev6I1JkkObuQ57Fs9RznhG5m3Aueoj7eayP b/wqaIbzoEw5EJkEcai0VRJElaWZWcWlxqW2fUFML0tRNHyYQF5D3wJO1GNmhU97FF m8OwKDzAZ2GLkBU5YihS2bHOsvYsUE8iTGj9aWpnvOh2t8kbwKuN558AIbL92Kb76d pBvren3/huioT29/bpp5+6CPYY9xbEAiJFnPS70uQDKbc5gbn/qJsSectCoexxzyKG 2/NNhWmzjx3Azfi0TlAFjnOrCK2/IcDRJ/zlt1MlLRhdUyzbLPI9w6/E4CGJ7ieGIK tRl5F033/76tg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B86501804AC for ; Mon, 13 Oct 2025 18:15:11 +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=3.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,SPF_HELO_PASS, SPF_SOFTFAIL autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from xdebug.org (xdebug.org [82.113.146.227]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 13 Oct 2025 18:15:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1760379305; bh=YICm2hDjnGTxc8a7pwXq91Xo1pTTODNo/2PzzN4rNCg=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=hPNiPzMnRfEL/JjpAk7b5putUnCa2sCYAPvBwH6cYKp87+i8q8jLuz3H6Giu23x7R C7q0h5EJKUC3/ZMF11eHbeM1Yk7IpkNzWlXqsm6rtf226IkSKS8mYaJ4PJkJ9O8lTZ fGYOtzd3SHCuOemj+qm6hE5szSpsZs+ZQbjPbFU2RaggPVBSI0LB4LKEH9G+SpTzIV tpcr2NB721AG4rYzV/JeCrZiLF4x6klfUriM6NwrnECLokf5ojL4UUISu1NugaAkSA iprRf50PKKH8DKb4TZWOmwO6uuVCPpsOg9Hxe+OyGP5CDyRPlS+a/RcDOli11k3c/0 qNBznghB/6DZg== Received: from localhost (localhost [IPv6:::1]) by xdebug.org (Postfix) with ESMTPS id 8B23110C051; Mon, 13 Oct 2025 19:15:05 +0100 (BST) Date: Mon, 13 Oct 2025 20:15:05 +0200 (CEST) To: Larry Garfield cc: php internals Subject: Re: [PHP-DEV] PHP True Async RFC Stage 4 In-Reply-To: Message-ID: <4f9b8dfd-5415-3df3-fda9-33a8716c57c1@php.net> References: <14f591d4-aa1e-49dc-bc20-03cb493dc20c@app.fastmail.com> Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="8323329-1947501186-1760379305=:167098" From: derick@php.net (Derick Rethans) This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-1947501186-1760379305=:167098 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE On Mon, 6 Oct 2025, Larry Garfield wrote: > On Mon, Oct 6, 2025, at 1:50 PM, Edmond Dantes wrote: >=20 > > Of course, you might say that there are simple websites for which FPM > > is sufficient. But over the last two years, even for simple sites, > > there=E2=80=99s TypeScript =E2=80=94 and although its ecosystem may be = weaker, the > > language may be more complex for some people, and its performance > > slightly worse =E2=80=94 it comes with async, WebSockets, and a single > > language for both frontend and backend out of the box (a killer > > feature). And this trend is only going to grow stronger. > > > > Commercial development of mid-sized projects is the only niche that > > cannot be lost. These guys need Event-Driven architecture, telemetry, > > services. And they ask the question: why choose a language that > > doesn=E2=80=99t support modern technologies. Async is needed specifical= ly for > > those technologies, not for FPM. >=20 > We must have a different definition of mid-sized, because FPM has been=20 > used for numerous mission critical large sites, like government and=20 > university sites, and has been fine. And such sites still benefit=20 > from faster telemetry, logging, etc. >=20 > Regardless, we can quibble about the percentages and what people=20 > "should" do; those are all subjective debates. >=20 > The core point is this: Any async approach in core needs to treat the=20 > FPM use case as a first-class citizen, which works the same way, just=20 > as reliably, as it would in a persistent CLI command. That is not=20 > negotiable. >=20 > If for no other reason than avoiding splitting the ecosystem into=20 > async/CLI and sync/FPM libraries, which would be an absolute disaster. I also agree with this. I tried reading the RFC today, but I ran out of time. It is *59* page=20 printed (I didn't). I think we need to be very careful that we do not introduce a feature=20 that allows our users to run into all sorts of problems. The symantics=20 of such a complex feature are going to be really important. Especially=20 about reasoning in which direction the code runs and flows, and how=20 errors are treated. I recently read=20 https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-con= sidered-harmful/=20 which seems like an entirely sensible way of proceeding. Although the=20 title talks about Go and its problems, the "Structured Concurrency"=20 approach is more of a way of doing concurrency right, without the=20 possibility of our users getting into trouble. I don't think the RFC as-is is close to this at all =E2=80=94 but I have mo= stly=20 skimmed it so far. I would also believe that discussion how this should work would work=20 better with a group of people - preferably in real-time - and not as an=20 idea and implementation of a single person. I know others have been=20 reviewing and commenting on it, but I don't think that's quite the same. Concurrency in all its forms is a complex subject, and we can't really=20 get this wrong as we'll have to live with the concepts for a long time. cheers, Derick --=20 https://derickrethans.nl | https://xdebug.org | https://dram.io Author of Xdebug. Like it? Consider supporting me: https://xdebug.org/suppo= rt mastodon: @derickr@phpc.social @xdebug@phpc.social --8323329-1947501186-1760379305=:167098--