Re: PHP True Async
| From: | Bilge | Date: | Sun, 16 Feb 2025 15:41:29 +0000 |
| Subject: | Re: PHP True Async | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-126424@lists.php.net to get a copy of this message | ||
On 14/02/2025 11:22, Edmond Dantes wrote:
Good day, everyone. I would like to request permission to create an RFC dedicated to the asynchronous module for PHP. Although the source code development is still in progress, a significant part of it has already been written, and the initial tests are working successfully. Therefore, I could start the documentation process if you consider this topic relevant and interesting for the community.Cheers, BilgeA brief overview of what this RFC will cover:1. *True* asynchronous support for PHP core functions withoutadditional "tricks."2. *Scheduler* and *Reactor* components, providing a C-API for PHPextensions to enable non-blocking I/O in plugins or core code.3. *User-Land API* that mirrors the C-API for PHP developers. 4. Basic primitives for concurrent programming, such as *Channel* and*Iterator*.5. *Built-in* integration with the *LibUV* library. The library is based on *Fiber*, extending and enhancing it to provide PHP developers with a full set of tools for concurrent applications. Have a great day! Edmond Is it really necessary to have all theseAsync\launchScheduler();calls? Why can't the scheduler always be running, the same as it is in JavaScript or any other async language? Even (userland) Revolt does not require the event loop to be manually started.