Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129361 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 EACA01A00BC for ; Fri, 21 Nov 2025 12:06:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1763726786; bh=xwUMp0SqOU8HCB9VmP+tivmGAgBGb6OjI5OGLW1Iu2E=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=T6TdtWolMwU3DOv4cQ0Us0XUbrzbpCOMv47TZEiQnb8colh57Y+tHw+Juufg+wIpY YCleqTHPSNjZF7VCd78ZeQV4HPfWi3xc+DMvaxsNRthFqLBhjPAvgJyCWn5LnvwntQ RSYtwS5nkeXov0EBsTQDh++kCbUEN3iucyL6UlBWDpeVfU0SssfN0vD/DYzmDyWiF1 Ep+KILwXgHSDLrMch93c//5Mm5pK3NS5zn10iUNA9p/uL915ca6GjRICXuXNZ3hqDL IbwhUJQB0h1c9fxQ3HG6dy88Cb1vw0YM6FIMGpLjo623Lm1T3B9ZxvcEob2itpC6C2 8dd95EciwXo6Q== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id CBF391804F6 for ; Fri, 21 Nov 2025 12:06:25 +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=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-vs1-f51.google.com (mail-vs1-f51.google.com [209.85.217.51]) (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 ; Fri, 21 Nov 2025 12:06:25 +0000 (UTC) Received: by mail-vs1-f51.google.com with SMTP id ada2fe7eead31-5dfd2148bf2so987956137.2 for ; Fri, 21 Nov 2025 04:06:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763726780; x=1764331580; darn=lists.php.net; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=xwUMp0SqOU8HCB9VmP+tivmGAgBGb6OjI5OGLW1Iu2E=; b=h5GhA7Rn6extc0rk3+uB8LsbAwLVqfaH8Ezdin7oGGV2Ud34PipWlKr6mH94eFKcgI qdrfMSmF1qzMXLPjqgt8wYkapXE82XOqRsn1ajYxCHnLuoAoFABZdQ40r2GL3aeffWPc gRVu0YZu16yCmou04t+fUeN0e0dqOyx5EnnDcj3hvI+BaU1n/FfZXGVdBGHS514jSMDp FP6a5meoKRKgw+6Hr0kb0pqJs3k6fYXB+i3nAd0l2n7cQyM/fuVbxH5Kqv3FY21PmoxK tJpOgirLgf1ght/RyRjSupVxGBy+5zLdMCNvmdoqGCPV1oBwhwsj1jPT9Zkx88r1vxre HDmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763726780; x=1764331580; h=content-transfer-encoding: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=xwUMp0SqOU8HCB9VmP+tivmGAgBGb6OjI5OGLW1Iu2E=; b=d9c0+ft8BpAmpoVV2gWWPKh5YaJYzB1PgUcWm+WLfJdB1nX3aph+Pg/0KYQzcCToM6 59c6SIsoSEUOfM4xostOUBe3Z/CV9oUuLPGDuBwTXsGpyVIOqsyoOBl+emaiQ4j1H8Zv ahoLb8aVm2uWW6bCiY92Z2jXt3h/ypNY+epmGA5e+lORrpWquN0fsuSJ0BDTTH+5es78 XbKrLvfQnZdV2GC72kuU8yY0ihQKDhcrN+KmHut2uhOXJv6D6kqJ8laX9q7zhz0T2kkS k9Rv07oer2iHOXPkGWLm7smBO+cks0ECok1Rr0hTT6v3TaZVoVy6W54ws+tGg6BWXQUs 38gg== X-Forwarded-Encrypted: i=1; AJvYcCU9Wj6WHx8vnvKcf45gsUJFTygF7bpavX7hL/EFr2T2Iwyt3UgJqWVj3+OAez8fQgr/W2ndfEHF4+E=@lists.php.net X-Gm-Message-State: AOJu0YyCMB3YiN+0qLqzRryRW/JHhb977wlq0vb61BKmwmWz5HjMjZlu AiQkpHvq+UU7Rta4rGorFvpmCTiicGnUFKZ5Wra06ozK3MgWFYaahYk5+vuVeEBIU4YIfSRU71T ZYFX95+A6p9FdH+C4yKgWTvgIlxHkMPu2zP3UVXI= X-Gm-Gg: ASbGncv3adXiJqOv4GldYziTil2oZmVoL6SDhfLDish0l5NoxApcyJqk4ofR9EMxAil KBqA3+EbRxivHoh6SBCNsIZfQVUBwsVl5rGM94gAZFRggKJIG7ZEseaqlaMwEthiffBqX5Op5YL yU/dTSPkRgdpWrPpaAHYaKQyELtrDQIzbH8VpzHdZFbcPwHleTqRX00PC6ulqWSnQ9j6imzU97d vXYI40852rW99yqOj4DufDrfIH628zvtjB3J562Qai/KdFCebYMX6NeBWqJSAiOStR+6X85Jis/ sTcCsA5HJj/7gFd6V0a0UID9y8w= X-Google-Smtp-Source: AGHT+IHYSj7k4YPq+xbisiQnLOZ+jQMYypln7EZ1KkQOGhrDCjJBkh5XzAkxVPMW/BvI2RKBG/WqBJ/NPI2igh7ozfc= X-Received: by 2002:a05:6102:8028:b0:5db:cec7:80f4 with SMTP id ada2fe7eead31-5e1de483012mr534814137.22.1763726779688; Fri, 21 Nov 2025 04:06:19 -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: Fri, 21 Nov 2025 14:06:08 +0200 X-Gm-Features: AWmQ_bn0e5v0PlldJt40Aix1CqM_nUPUUcATquqKIRiHPtQjp0ZSbwZPXvcQzb4 Message-ID: Subject: Re: [PHP-DEV] [VOTE] True Async RFC 1.6 To: Jakub Zelenka Cc: "Rowan Tommins [IMSoP]" , internals@lists.php.net Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: edmond.ht@gmail.com (Edmond Dantes) Hello > I think you seriously underestimate impact of this in the current PHP cod= e bases where many applications depend on global state. Do I really look like someone who could underestimate memory-related issues= ? :) > Now imagine that some popular plugin decides to use async which change so= me of its globals (like $post or $wp_query) during the suspension of the ma= in code. I would assume this could horribly break things. Or for example, you run an old WordPress on the new PHP 8.5 and everything breaks. Is that a reason not to release new PHP versions? No, I=E2=80=99m not joking. That=E2=80=99s literally the essence of the arg= ument. If something might break, then we shouldn=E2=80=99t do it? This is a common story. There is a framework that is adapted to a technology, and there is a framework or library that is not adapted to it. If a framework is not adapted, you simply won=E2=80=99t be able to use the technology. So why is this considered a problem? However, inside WordPress you will still be able to use coroutines as long as you don=E2=80=99t call WP functions that aren=E2=80=99t adapted. Yo= u can. So why is this a problem? I can use AMPHP inside WordPress and break WP. So does that mean we must urgently remove Fiber from the language? Because AMPHP uses Fiber, and AMPHP implements coroutines. And coroutines break WordPress. Asynchrony already exists in PHP. You can write async code today. Which means you can already do all the =E2=80=9Chorrors=E2=80=9D you=E2=80= =99re talking about. TrueAsync cannot change that. And no one else can change it either. So why is this being treated as an argument against it? > Don't forget that other code don't have control over the plugin and it mi= ght not even know that async is used there. Exactly. This means that right now I can use Fiber plus select() to write async code and break WordPress. And I can also write a plugin that divides by zero and crashes WordPress, and WordPress won=E2=80=99t know anything about it. > So I'm not sure if this design is compatible with WordPress Yes, WordPress is not compatible with asynchrony. I=E2=80=99ll emphasize again. This is not about TrueAsync specifically. This is about asynchrony itself. Yes, WordPress and Laravel are not compatible with concurrent execution. That=E2=80=99s true. But are you **really suggesting** that because of this, all other applications should be denied the ability to use it? Moreover, would you deny WordPress itself the possibility of supporting asynchrony in future? After all, WordPress can be refactored. It=E2=80=99s not carved in stone. Wouldn=E2=80=99t WordPress benefit from the performance improvements that async provides? Wouldn=E2=80=99t WordPress plugins benefit from being able to actively communicate with microservices and deliver the fastest possible responses to JavaScript? Is this feature really something nobody needs? If yes, then I have no further questions. Async is needed to increase throughput. That=E2=80=99s the purpose. If a PH= P project doesn=E2=80=99t need it, it doesn=E2=80=99t have to use it. That=E2= =80=99s fine. But there are PHP projects that do need it.