Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129817 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 91BAF1A00BC for ; Wed, 21 Jan 2026 18:10:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1769019006; bh=yylneYxBu1K57IEqFo9VmTAiaGirz9KpnbLaO69TyMo=; h=References:In-Reply-To:From:Date:Subject:Cc:From; b=bFukYV/D0BRsB2PBlYdExEPf+V01wgLil95RsU1wHLxJLVgdVh2bJ+TtbaZL/45qv IkdsL7+7New51yhnEkZHhcGiPzJncMfbqGZX/BTJDb5NzBN4GstZwwZ4X/YNJ8Zbmz fp45iMvYJjq8j0r14aG7YUbBWFL1vtCSeFKT6Z/L6GMylFOZHxfx5RQ8ZcJ9jpLvmh ezThWMuUnS4SIT+2EEMC8NgxHyOp8jbmRczQ+G4+KEdbwTA9XUgJQ8OgZA9Om4/7t7 q/ptB3sJI3IUR+3z4ysYnSDDLmliVJ23rbSgl+3XWzgxOscr0Bi1AMfmbVmafJyESh w3cNJFVwobMVw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 3EBFD1801DF for ; Wed, 21 Jan 2026 18:10:02 +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=4.9 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_50, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_FROM,MALFORMED_FREEMAIL,MISSING_HEADERS,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,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-vs1-f48.google.com (mail-vs1-f48.google.com [209.85.217.48]) (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 ; Wed, 21 Jan 2026 18:10:02 +0000 (UTC) Received: by mail-vs1-f48.google.com with SMTP id ada2fe7eead31-5ef31a77afbso760308137.0 for ; Wed, 21 Jan 2026 10:09:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769018996; cv=none; d=google.com; s=arc-20240605; b=YBr7zwS9QqJvpbVvuX0v/QciybCRBjOYodS9Rah0msKU5QFzBUr80nw/MGrkfghq32 Yjcs2hP/9651NvN+oBRxwH4k8mhHx7yxQCJnTG4w2Xio5wfSleaMCzEQ/zhcpZtzo3db CV+xhYW2j7AJ3nA2qIpJSprasR/s4tEbscgmontpzGD5GevXYXaE9WKAd5GzjRVfBNse uWwUZ76eP8yDzOKNK4hEnuH02Rvb4HM3c76vH89EGiKSmi4v8FYdu9b8A0JaAbYwNJBI K33ubaZg5uixQIZYyDSGIYszDkiCZwI2oOmFPU6YaO8dBNtH3LAolKYrhzktHfTq7giV EIBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:subject:message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=yylneYxBu1K57IEqFo9VmTAiaGirz9KpnbLaO69TyMo=; fh=W/ffd2OOxSzB8FoRgVAtKs4qyMaTFv/vVMQ2BdYLTIY=; b=XFchEtM4SYDGyw/jB8NWR1qT5LUAcQ54XhcFm1339x93j7jvkZOdEBkVhvZDtpx/T8 Xpv4tdIOhvXl6SSENaYIDUoVEA1PrnI/yiQXmOo3fVn805x1IBG1cu1WR9AZnLhpXshd HhPdIGX+NYnHuk9yHq7LPaT98vTHBEG7LdFfKtu0QeW/H74R6RucsXRB+C8tzqX+Pxht RZHZpL+/kKF9Q0cIgfaZ1BoIW+ng0AHVdCKJCE1NYVu78s0eNw8pX7yPgPtB53Ur3F/L 2UEg3V25umG7qme9S3JfK6+cche0wjwGSlxetGD8qJmR3vgm6Nebo4A53moKuVQaJgS0 0Z/Q==; darn=lists.php.net ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769018996; x=1769623796; darn=lists.php.net; h=cc:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=yylneYxBu1K57IEqFo9VmTAiaGirz9KpnbLaO69TyMo=; b=Aim54GK1P8AAsmr7qN6PNueWM/AVOK8dz/8lezOJ+pFvirKG+jJDdcF7qnAhty8n6P HSu8buU+LS/WRfoIUYXVhX/YPyAsgMwvKi3232kQl8IQxGhAB5iCL1OaSuw4N7Z5ca1B kne0/MGZGVSBrNJzMajP03ZD2h/mJKar6QoMN0xjWCj5vj1zwyBqsEJv8T/hnqynfx5D frW6R2dZf0wSgClNGOVacByhkZXr+htTf4kG6Iqo7UvASqLDpK6aFSG/EY5z2rKlmV5q JBeTZasLm4V8h8osu8yWa9hnr9P9K6FVPkymcPetptbq8LopD3Ok5YzXDwcrqX4kZ3jf eavQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769018996; x=1769623796; h=cc: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=yylneYxBu1K57IEqFo9VmTAiaGirz9KpnbLaO69TyMo=; b=V4zf/sLdtldVx9kNjYGsd1l5drx+iu7yipRAOs4DOJYi+ed8L/7YkdXmFf9ez3GpSx ymxbhmA0JFG3sO1Hhk7bLwWxVjiqWAoagtK9Un2k6KOESolePll9ihSRbL5JVMD+vLlr gZRnMREsEKwokbQc14rwBuTGut77jFkZNbkvXk8kuwUE/kUzQNGFUvuyouL6IBc8tyK5 03tY2nM+3dHO0oEtC0pimOY0FBgtIzy5o8EetA024r9Kn88izIS5tpCxjwvoWgwSKKAn arZrrzrw00MMR8gJaZ9fBg/bZXFo0uRWKU45nnh3KEiFoaXWJDm1IdQcqHVSY1j/Vske pTHw== X-Gm-Message-State: AOJu0YzkQyygsaHsM78fkVtA8reoeNMaAqI5NxWuNxm83zqgaz5qiq4u TWmlCN3XqGgaRBQJKllxKi337xwkD1qfcPIk4u01YKTJ6ZqR7jL880e0RcMd9YWJBeD0mEOuz2a UpZfBgDo+ipfFPRmPKwAILD0T0DjmTj4wQpLP X-Gm-Gg: AZuq6aLmEqT/0wzxTVgNPodIY8KzpoDO1elyk9SMSzrfyQ+rR4vR8v2pWv/usHF7oj3 BHEq6dbaOldxrkbY8Fy8uu7YSu1tZO8ERvs8UO16SsX7xREJ5yFXg6227dI0YmQX7JPZ658lGCI Rm+tQoMPR6EQtz5inGn8gIFgmJkavwRosOFj5v0WvxwgJKnqDaMSev6D+/jI5V8U6wNMi5K1P+d kxtaKjJdPLKueY5XjodANlxKoYN64SYXKNkJWAMWWj2XsJqL+o+RG/cmpsGzALxo1l2pm0p3mXZ XSTrCLNtn2KqzSPp+u7K8SMa+O8= X-Received: by 2002:a05:6102:33f8:b0:5f5:2954:d1e0 with SMTP id ada2fe7eead31-5f532ebd398mr103576137.22.1769018996197; Wed, 21 Jan 2026 10:09:56 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: <79CDB2CC-E397-436E-B5A2-10DA1E451A97@rwec.co.uk> In-Reply-To: <79CDB2CC-E397-436E-B5A2-10DA1E451A97@rwec.co.uk> Date: Wed, 21 Jan 2026 20:09:45 +0200 X-Gm-Features: AZwV_QiZ4-77diHnEI7kwyBOivKys1iIkzAOOKnEKJ7zaEW0SKfLv-Y1Q7ISzHQ Message-ID: Subject: Re: [PHP-DEV] Re: [RFC] True Async RFC 1.7 Cc: php internals Content-Type: text/plain; charset="UTF-8" From: edmond.ht@gmail.com (Edmond Dantes) How the TrueAsync RFC evolved over time: The first version proposed a fairly low-level API for controlling the Scheduler, philosophically very close to AMPHP. It quickly became clear that this approach had many drawbacks, including issues with consistent PHP behavior. The code was completely rewritten. Core changes became more significant. In the second version, the PHP execution flow was changed so that any code could be asynchronous. The second RFC version introduced structured concurrency, close to modern equivalents. At the same time, the garbage collector code was rewritten several times. One version went through code review, after which a simplified variant appeared. Today, Async GC exists in a lightweight form. The implementation code was modified and optimized according to approaches used in Swoole. The next RFC version received fixes and improvements to the description. The RFC was split into several parts and significantly reduced in size. Around this point, the first vote and major discussions took place. Their result was the creation of a working group. Another important outcome was the integration of Fibers as coroutine generators, which removed the problems of previous RFCs. Various experiments were conducted, extended memory models were tested, and Globals isolation was explored. WordPress and Laravel were run as stateful applications under FrankenPHP + TrueAsync. A small MVP was written for a multithreaded PHP memory manager capable of correctly working with PHP objects across different threads. The possibilities of sharing and transferring memory between PHP threads were investigated. Compared to document 1.6, document 1.7 contains one new section: Fiber. Everything else remains without significant changes. Best regards, Ed