Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128863 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 0FEC11A00BC for ; Sun, 19 Oct 2025 05:03:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1760850206; bh=kCCl4ltKQgapFefCsSZKy8E2XrlvothSDFqmxbH50Yo=; h=References:In-Reply-To:From:Date:Subject:To:From; b=baSnIEiL0LQmYp19i2QEhDPEWi4eFOjbUEd2EhikhgXO/1SZO+YXFCOQUIatWITgb c4A/5oH4G510AliQrynYbEU4onnbrK7xg+q29ICo8LwRAn9kEXpkmnRiX5OolBauNR ZBvLQMwyVURvC7UTb7A35+BKziP9hHfhuPsTE7+TW9PCXLshvvFrTI3q9Rwwi0hiUQ YIUrAgHuw0uBsBL1hkfjI3S94vEbA9ddC5gl/dfdKeBz2yEjdNo1tikqItD9I+Xwo9 /qdY0OhHBUR+87IniOKaIdNVocSdyXvmubgkq3MwsTLw87rZwmFpnyTcFVlNfiJDyk SyLnmsmbbxAbA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 969CD18006E for ; Sun, 19 Oct 2025 05:03: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 ; Sun, 19 Oct 2025 05:03:25 +0000 (UTC) Received: by mail-vs1-f51.google.com with SMTP id ada2fe7eead31-580a1f1f187so1354922137.1 for ; Sat, 18 Oct 2025 22:03:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760850199; x=1761454999; darn=lists.php.net; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=kCCl4ltKQgapFefCsSZKy8E2XrlvothSDFqmxbH50Yo=; b=Y3DkTUdpr4DKLwrtbZ1sJ6Nbu1ugioYN0A6OaL/34tK7qiOBwYxdDqUeq4/pnDOfGD 25yV14onqDo80EpKJHe111muDRhaEP0TCI3RNymbJi96zjaQW2cq/QFFKJ9JxvNESqvH /OXrDOPmCMd3CmMgIeoebT6D/EHxnW8GFZaEfruMYFI/4+vTUZHWygOCaT3PvHR3dJdf 0ZCnUSpV5GU8SWkuKT1tKL0VT4TOHLbbS/8veAVmTiJm+XVFlEfQF5m0GAz+ELC5g1NO qKLQqChrDD1EhqDfazbr98A1WuTzgH//TrJ/sThGNknymgwtpp9b5pQmwGMb5jfPaQWC h2BA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760850199; x=1761454999; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kCCl4ltKQgapFefCsSZKy8E2XrlvothSDFqmxbH50Yo=; b=KN2r0tDi8VexNCQWTih2QRgEnyMzNnm6lCqqdOOyX6e1YPJvDkPuZ5tG07sBN0KqeG FMM4uoasbjI03GioCF0kFXPwGzRJNnwrNKsD+T1FHNkbs9fvsBdnYEFPWzaC8CXRvq5u GLgAH/IPZNqZfCToUINdMAe84nGnif3Cc/eSV4rNTTkRgCltvLvIH0Ihpo2IPtkmVNEk 9QYrq3qXioIgYe8uPZMu9+uuQCZZeWL0m2tHpF/xrXhV+ITyKk+a9QZ+JhwtqOlJDrp4 Ah0t5Efkw0WVOcCSGw8ilHNuXu9pUcMW9lkGD+e8iHHoejAreBKP4lAusInm78H4BXmM 6lFQ== X-Gm-Message-State: AOJu0YwqidtTqjfPH3IANNOTs2kAe4Prm4JtBpxe+Fa4v4wpVd4SgGHQ XbHdd0Xp3ghTj71HtrN0J/F84s7/6KY7LqjbKCtHMtnlWzj2qWyoHf8apxrAyIdpO0NC+S7Ajm7 jDiJoBCzcMyDspxuLDIRQRCQxpUFwQefPXnHK X-Gm-Gg: ASbGncvzCpG99KWFdz1CyBfvRlZJVBcSfLk+4WKR/bn6SwkmogcQZuGuFPhQrTSX8tq abzxVXV18wE8mNghGomiYjivI7qzjitQe2c9xinT4Ne247O7FvF5Mla7J5NZfqKjTzt6rtLAJ2Y 8PcqiComSthR02TtgGEISnzCK+8d9o+aoHmPoUzjK5A2BqcrhabenlKAf1xRvouuCVHQGxdwVN4 qMpcdjjil4XHnFrGutTdha+Ka/4gsk25mCbO+ge4+3sx4XXZlPLdfNo1AOXD1sCiAtHzVSGKZNj 8UR524e87O9dNJo= X-Google-Smtp-Source: AGHT+IEMNwLEPjOT0PrM5lW9GHNqTDIn8X9v1heVwGXvVZWJJTec3Vo8lhss+yoTTLpD7p1cQyBQtJIuufx2jKh8uDM= X-Received: by 2002:a05:6102:291e:b0:5a4:1f28:9b98 with SMTP id ada2fe7eead31-5d7dd5544aamr2642642137.3.1760850199097; Sat, 18 Oct 2025 22:03:19 -0700 (PDT) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Sun, 19 Oct 2025 08:03:08 +0300 X-Gm-Features: AS18NWAbpuS-5al7YQW6W119iF6jSdieqK7Aq7P7Ur9HT-ocNZmdZ0Ij2Y3_qbM Message-ID: Subject: [PHP-DEV] Re: PHP True Async RFC Stage 4 To: php internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: edmond.ht@gmail.com (Edmond Dantes) Hello everyone, Tomorrow marks two weeks since the RFC was published, which means that, formally, it is now eligible to be submitted for voting. Allow me to briefly summarize the current state of the project: 1. The implementation has been delivered both as **core changes to PHP** and as a **separate extension**. 2. **More than 50 PHP functions** have been adapted to work in **non-blocking mode**, all of which are fully **covered by tests**. 3. There is a working **integration example with a web server** using the model _=E2=80=9Creact-process + embedded PHP process=E2=80=9D_. 4. The project is currently in an **Alpha+ stage**, and is **available for testing and experimentation**. 5. The **RFC v3 has been implemented almost entirely**, and **RFC v4 is fully covered**. 6. The **second version of the PHP Stream integration** demonstrates **strong I/O performance** in **web server scenarios**. 7. The code introduces asynchrony into all stages of PHP execution, including ensuring correct GC operation. It successfully passes the standard PHP test suite. 8. Supports both ZTS and non-ZTS builds. 9. Separate testing was performed with XDebug (with a small patch applied). At this stage, all technical objectives of the project have been achieved 1= 00%. To emphasize: the project is not yet production-ready, but it has fully achieved its demonstration goals. Around this time, the project turned one year old. **RFC** 1. A high-level API for PHP land has been developed, based on the experience of other programming languages. 2. Known development pitfalls have been taken into account, and fault-tolerant solutions have been incorporated. At this point, all RFC objectives have been achieved. My special thanks go to Roman Pronskiy, Jakub Zelenka, Arnaud Le Blanc, Valentin Udaltsov as well as to everyone who supported the project in various ways. Dear PHP community, we are now at a decision point: what should be done nex= t? I am obliged to draw the attention of the PHP community to the fact that the Swow project has existed for several years. Unlike TrueAsync, it is more **mature**, and its author Twose has previously expressed an intention to integrate it into the core. This RFC can be used as a foundation regardless of the implementation. So I believe that Twose=E2=80=99s opinion is important and should be taken into consideration. I recommend voting for the TrueAsync RFC with the status of =E2=80=9Cexperi= mental=E2=80=9D. Although this status is not formally defined in PHP rules, it would allow framework authors, library developers, and other maintainers to treat this RFC and its implementation as something expected to be adopted in the future. Without this step, further development makes little sense. There is no point in creating an equivalent of Swoole or Swow. These projects already exist, are excellently built, and fulfill their purpose. **For the moderators** It is possible that voting on this RFC may not make sense. If that is the case, please state so within the next 2-3 days. This would be a rational and respectful approach toward the participants of the vote. Thank you all, and best of luck.