Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129386 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 4D0A11A00BC for ; Sat, 22 Nov 2025 10:37:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1763807859; bh=t1N8ZAu5V4fKRNdTYuzGmYKVwzvUoczGJ3Gr5rY5o6E=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=S6JQDpGGeXxozBEULHIYZK2FAJOg0cIff/Aa0+iJDaphcldgRAghIuoHIIYzJdfIz Vmbg4cpj0EcK2fCmGmaIDcfiASJhZFsXfgytjAnc3r8NNfuQXcnKV1GjuOo5zckXrJ C8d62xIfmDotFtkpbsILH2TRXRRE3UyGsj52d1lJ2MaGBS/nfuo2DF91ow7pMnZf70 6bT3VDuxF5iq/mskpERniFFsaVOXWI6F58MLqim10Q50neRrX3Bi9OLGR4WFDCZk12 P2vqBdkTxfZHS0Pis1vegomsA9go5U9yU6UhLS3ZWGp8RjsssAUgbuY8GKoGVTB0/M l9Cm72HE76zSw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 1F555180041 for ; Sat, 22 Nov 2025 10:37: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=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-ua1-f49.google.com (mail-ua1-f49.google.com [209.85.222.49]) (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 ; Sat, 22 Nov 2025 10:37:38 +0000 (UTC) Received: by mail-ua1-f49.google.com with SMTP id a1e0cc1a2514c-932e6d498b2so1749653241.1 for ; Sat, 22 Nov 2025 02:37:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763807853; x=1764412653; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=t1N8ZAu5V4fKRNdTYuzGmYKVwzvUoczGJ3Gr5rY5o6E=; b=XzDPLCLHXLYDjjRTsHKs/+h6S27amQlrUiz1pw/H+gx8XvCT9rE22OCwi+bg/vCihs Y/e2vQvxEyCv38FHahxfHtjfes0ee8PRUN5b+Ygxw+zFpUxPblgMV7H2x52YemZhK3f+ Y+wsCpv69ucOAGIWdZrVqA93ipqY+UVsiLJToGgJddxCClvD2W3hGgTf5iy39AcDQHjo 6zpTuwwvjto5L+p2NPbnQ1EbvPynuiUBYHPJa2hLW77Bl/wBd5B3sqVU0cSbynU2AR2Q 0/4KdyJ5T1yV6cfWVg71r5I5UPiRnF8Lz6uxzh8bBoaC1YZrA6jzJU+6HTAXfmLKgEbY 9Tow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763807853; x=1764412653; h=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=t1N8ZAu5V4fKRNdTYuzGmYKVwzvUoczGJ3Gr5rY5o6E=; b=ZSdh4W8G5CMnd7At/XPMqSslNZLD+sP+GKYzCYoG+xA34KGZYipAAqzQXZ7YSTV7ky dgfbzYcXA3kFA1rVbXsEZHabRL31UgYkYkTd6c1xrm9qR5jcBHtZPpxEQ6SwJ2X7DfjJ 4L2eMeNJV5v6ukTNQiC1GZTuBSK7qCcWhNsnKyzVcuOI8yu3n1hWWrkYDJcZCifHyRHI jy3oHgeqb0QTxQuXBLRwKmnojHMxIWEnQdLI8+zQp0J+s6mcN6pcCT3La8PF/o96yX1Y WXymcJp5L4ursff+F8cDEHDN4T/1N2TIRliHeulMRXq5oD2hTnS0Eyv8Rm12ndaAEAIf BtxQ== X-Gm-Message-State: AOJu0YzHeD/JXC5zZe0nchen+n19YE0Yco8Y8Btp7CFKSsChQVuvvoYP FfZkVhEJCUF2lg9CmLF4F0JDOKsjRRSWPfx7NnnFMM6GWzuyO4c5X4bEnKDHeoRcgW5QXuknyvq jiUpuW8ZVzKrTvsq1cBEh9AbC1NWqEY+XY1zCnzw= X-Gm-Gg: ASbGncv3OlYaXARcbmCeRQzPxI3p/CaeJDhBaCS7lu5uJD28mVEqY/T0h0TbYpsUdgA PUQrvhOKrEMQn26VMZ2pKz85IvPJC0D0E3EY4b0qQCQivr3/XOo48XZSrGiQgne1W9LPgV208xh KIYwLQFLbhff0bkeS60pYBcd48oOYkTD1ht/TNkDJs8xZl80I7ys3MADoR8xgn57VrQjIRvhDfk nTMJcxSxS8IPaYSVWN1TgR/BoeBY+OVDvf9THtXWGrp1qMCbXDjsmha9hV65fpWTp6/9+eI4LaO fkgTMaT85C72lOir//FbRvYE5LJ5FlCqSsw= X-Google-Smtp-Source: AGHT+IFxpwl9mnAJc8q8UaWKHUmIvhMg8Qq9C9CrE8lGZZ6Wx0Y0Mo06OYqiWqWzcgjGf7aXtX5DIodbgdVQIhvudQg= X-Received: by 2002:a05:6102:5114:b0:5db:efcb:72 with SMTP id ada2fe7eead31-5e1de16670emr1624578137.6.1763807852873; Sat, 22 Nov 2025 02:37:32 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: <383528143.397454.1763760932585@email.ionos.de> <691963327.399484.1763796022993@email.ionos.de> In-Reply-To: <691963327.399484.1763796022993@email.ionos.de> Date: Sat, 22 Nov 2025 12:37:21 +0200 X-Gm-Features: AWmQ_bm7Jcf2BbEdLoQR80rhzeqn140tY4ergrH-snVIZQdCjoy25CzZ1qH1RnM Message-ID: Subject: Re: [PHP-DEV] [VOTE] True Async RFC 1.6 To: Thomas Bley Cc: internals@lists.php.net Content-Type: text/plain; charset="UTF-8" From: edmond.ht@gmail.com (Edmond Dantes) Hello > I expect that's already a good improvement for many use cases to read multiple files in parallel, run multiple queries in parallel, etc. I see. You want to get several promises to wait for? Then there is a good way to do it without additional functions: ```php $promise1 = spawn(file_get_content(...), "file1.txt"); $promise2 = spawn(file_get_content(...), "file2.txt"); $promise3 = spawn(file_get_content(...), "file3.txt"); ``` This is equivalent because a coroutine is a Future. In the same way, you can turn any other function into a Promise without creating a separate API. There is a nuance regarding resources. And in certain scenarios, creating an array of Promises in another way can save memory. For example, a scenario where you need to handle a large array of sockets. Such cases require a special API. --- Ed