Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129856 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 2CE0C1A00BE for ; Thu, 22 Jan 2026 15:52:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1769097162; bh=0CGTTEsBZW/67AlS/lrh8SfOf+Fly/dLgGW8iBNFR/0=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=L7iMku+cU73J+JBRAKQ5RHQJ5sKR3NuFg95OApXpUkBbn+HtSgcNtJeEuDbX/qouk sZB/HTQQo6iTNEr95dN4hNO873pnTz4uk39tp/t9b9MsxwfTvPuhBWoxqW5+IcIAFk AVYTrN7OBJZBC4MvYePhefD/N/iuWI2kDg/f68MZzp+kftLi0mXaiJvXbm+WBj94RZ tZnVlJCnGO1hHwTb12zCgYx7zYZZf/TKrBJSaO8Kdth4Bu2vPCaPG0JN5wK0gfbSf8 4kAPKsDmN9/sgtSUtPTHHAZ+uLJI/kfxT94fyDPPDeZgHKm+2i3uf6XQ8RdBMgxsSC SHuKzb3nrDFJA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 9053218055E for ; Thu, 22 Jan 2026 15:52:39 +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=ARC_SIGNED,ARC_VALID,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-f42.google.com (mail-vs1-f42.google.com [209.85.217.42]) (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 ; Thu, 22 Jan 2026 15:52:37 +0000 (UTC) Received: by mail-vs1-f42.google.com with SMTP id ada2fe7eead31-5eea9f9c29bso750095137.2 for ; Thu, 22 Jan 2026 07:52:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769097152; cv=none; d=google.com; s=arc-20240605; b=jMYXWZv7ZUmtOAw6MEDTyKND2vHabqdOld+xGuz5BlDvUn3BiY1VsVErLwlFBM7MT5 1tEiqHP2yQdAogG6cn+d3Ni6FKUdPUPuMnBT6OnH+dUswNEunEeEoV/NCbzluExpWDCW 0c357rb6bxksTgF1NOMP0AlKiOk2akMt6h49+an5wehcnCFOXt5VbzpOevZm4h9GDUGM +S5w7V36mHwX1BDhsVKIasG/dAPxM3inOkPNmtPapBXYCQjkuw+64vqrdpBwWSma0jis 586OzWZqZSBCa1J6lpcBS7o+MS+X+NWerAq0i2ERDbbvx//QIAEk9KLT5E7bDYCrBeHJ /zdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=0CGTTEsBZW/67AlS/lrh8SfOf+Fly/dLgGW8iBNFR/0=; fh=cCFzjBKQHTOLrJwXzsZIP+K4JqS9b6TMBE0EOE8RUBI=; b=NZfQDPMXTTcKFjt+bC/W33XnQQVOXhcybDQmj0Vsy1d3Xc+X4a6hvL3s/Iwtvc9fPr XhmmkbekUwQsrIm174fa7ZrHkKMDifCcgF2MGMis7i+/4uY82IJ2KR97pEqRvqaehjIu HzE3PJjyWNdA5RDY3H2W+880FdHi+XyvJ0/HvRc7gA2+lLOJshMwWxx65ZG8xnSO4T0v tKPKjHgVg+UV5fCCVjXZ9XS0Ywy8sAGz/tef7pufivGxOLwVBcudy+jXaPzDPyaFsT/m P72OzClK8Hqk4AdcHpTpbTa3OPr4MbHScg1pSkFmEWXaVsBRcZlJ2P+MeT/bnx15UE7i /0fA==; 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=1769097152; x=1769701952; 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=0CGTTEsBZW/67AlS/lrh8SfOf+Fly/dLgGW8iBNFR/0=; b=VZzn2Fg/ANn2Jgjt3OuaByw7tkAqbPX3AkVZqm5mqayx5AahhHl1SkcQdxhtpFwqfX Bw3wtmD9obFvvdT8JkdRjBbMujfIuz8l0rroYoWRL3y+moeYHT2Gj3z1DefzHw5+/JRJ HB04tHi6N3njRshJTgb2tUW8MHYdr7zE50bGm9Kpstifyd5VuolyphQ4EaTUhO+Qs9wA bfbL9uLRNYraD7YHLXU+oA/QT00gMXjgWLgP4/dkPllUixnDLPKJAWZQilnle29RKcRG Wve2S3FVfSOhuP01Z8yrc2hHAz6ZEIXBuujPLJerPLKoFJljrT3Aw94Jo+EcpJqDuP3p 7Qew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769097152; x=1769701952; 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=0CGTTEsBZW/67AlS/lrh8SfOf+Fly/dLgGW8iBNFR/0=; b=UI4HZoNqP4HbJXmG5k82PesA3OvLhb9npbNwPch/nPgu1rMI5t7kYET1odw5Ag/EEC YSpzNPdB3rHBwKdiIJ27TWYpwEvbu+Gw6v8pFe3Ur+rGy0eh8zZlO+lP8dNNUHOsqjy+ z2WhLtnF5UprV80sFK01d5YPtz3eU9nGk51b76hBx43xKBBVkM8cFNINebRkBSpwno21 U4dbxphZBHQ/lGVL7GSBGTPolZ6eObsWMqaJ0JBXfCQCkR+0A/gv40YicLnX/uENoe/M 0joQS+Mzp/GGzVUcgyFKnMSOurHGwP+Y0RIqi5/aerGSI1RAbWz1QmULrG/8IhVp3iQe cQqQ== X-Forwarded-Encrypted: i=1; AJvYcCWHxj3ODnrSjq2CHV7nnsNtoBicrXeLvapN0pzAmRmsXqum3QjoHZ9p4j9wVL+SZ38UUNo3jchPtE0=@lists.php.net X-Gm-Message-State: AOJu0Yx3Rf9MOWScsQSJ4WavMbWQUu3opY78MIrIR0TnkrJ1K4nppzND nyGHjiewuue3ASxmqHtoXiYAQz1c1YgWNuHR1ara2Ah3YQobRB5E9hWpGcKW4RCQV4nvRfuEL55 APYv8yWYEwTbXmDHGfklokX73D/7EjUZ1pcWyrT/Msfha X-Gm-Gg: AZuq6aI/7TfOgZOpbRuuCv1c32te7LrWkSB4Ek6G8zWJ4K1QqMWfv40S/+dq3o+RBle X/7rzdD24zkIUem07R792q1jHiWg4Dj3VGZIYuI0xmsAdjQXrieLV4tk7QRL/GgNsbkjDt0oRhy 0mT3eAB4QuS38eczAxG9d+x52lxPBuNKKyGZZwsydkkk3sylSQKeWgw8R7NcRGx4CjoI2I9ypKU kC7lRsoQwqKbFWLXVTUEKbuExZuMisJzBUzqC4GNpLF7DSLR1pXwos0kGbL6MT2KnMSDVFsKzAj dd4Fw9Yet54k1MDpcqOmY8E49Sw= X-Received: by 2002:a05:6102:38cb:b0:5f5:35bd:6fba with SMTP id ada2fe7eead31-5f54b999358mr39829137.7.1769097151657; Thu, 22 Jan 2026 07:52:31 -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> <9f2fb78d-143e-c84a-8243-97e0352497e4@php.net> In-Reply-To: <9f2fb78d-143e-c84a-8243-97e0352497e4@php.net> Date: Thu, 22 Jan 2026 17:52:17 +0200 X-Gm-Features: AZwV_QjdtBFfyCUSbepBFlc5UyZoINgawYkudF-nshPoRpfvW3Yft2XEegTTvio Message-ID: Subject: Re: [PHP-DEV] Re: [RFC] True Async RFC 1.7 To: Derick Rethans Cc: Jakub Zelenka , php internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: edmond.ht@gmail.com (Edmond Dantes) Hello, Derick I think there is a big misunderstanding of the situation here. > But you approach this from the other side, by wanting to make PHP itself > an asynchronous language I think I come across as a reasonable person. I genuinely don=E2=80=99t understand how such a conclusion could have been drawn, or based on what. So please allow me to briefly dive into the history of programming to explain that I am of sound mind and in good mental health. In the late 2000s, Ryan Dahl noticed a simple thing: servers spend most of their time waiting: for the network, the disk, the cl= ient. And yet we create threads just to sit idle. He proposed a radical idea: one thread, no blocking waits. The code does not sleep, it postpones a thought and moves on. That is how Node.js was born. An event loop and asynchronous code that later took the form of async/await, essentially coroutines. But computation does not know how to wait. Heavy work began to suffocate the main thread. The solution was simple and honest: let one thread wait and orchestrate, and let heavy tasks move to workers. Thus a clear separation emerged: waiting in coroutines, computing in worker= s. Many years have passed, and in practice it has been proven that he chose the right approach one that turned the once clumsy JavaScript into a language capable of fast request handling. Alongside the success of JavaScript, similar projects appeared in PHP. There were many of them. One of the first was probably Workerman, though I can hardly remember now. Do you really think all these people were trying to make PHP asynchronous for reasons other than practical needs? Concurrent I/O for PHP is probably one of the most important features that should have been implemented many years ago. Because PHP is a server-side programming language, and a server-side language must be able to handle I/O efficiently. This is far more important than parallelism. The concurrent I/O does not negate parallelism and can, and should, be used together with it. As for the list of tasks that concurrent I/O solves, it is quite large: https://github.com/true-async/php-true-async-rfc/discussions/9 I have been programming in PHP for more than 20 years in commercial development, and for about 15 of those years I have been missing good async support and convenient parallelism in PHP. I tried Swoole and AMPHP to meet those needs, but in the end I chose the only correct path, one I am absolutely confident in. You cannot build asynchronous applications in a language that does not support them. That is the conclusion of all my attempts. That is why I am here today, doing what I am doing. As for parallelism in PHP, you can take a look at my research work on the topic, where future capabilities of the language and possible modifications are analyzed: https://medium.com/@edmond.ht/multithreading-in-php-looking-to-the-future-4= f42a48e47fe Just to clarify, this text is not a product of imagination, but the result of experiments with the PHP core, partially implemented. ---- Best regards, Ed