On Fri, Oct 24, 2025, at 11:43, Edmond Dantes wrote: > > > > So practically speaking, it’s not worth designing around this yet. The > > engine would need massive adaptation before userland could safely talk > > about “parallelism.” > > > > I agree. However, this question was raised. Perhaps there’s a larger > team of developers working on a new virtual machine for PHP? I don’t > know anything about that. But if that’s indeed happening, then the > topic becomes relevant. > > As for me personally, I don’t see any practical benefit in introducing > multitasking to PHP. It would require significant development effort > while offering very little economic value in typical PHP use cases. > Still, it’s possible that someone plans to build a PHP-Native version > for a wider range of operating systems — and in that case, such a > feature might indeed be needed. > > --- Ed
The only thing that is relevant to this discussion (that I know of), is my refactoring of TSRM so that FrankenPHP doesn't need to maintain it's own thread pool of PHP workers. It's only relevant because it takes away the thread-local bits and makes it possible – not that you'd ever want to do it, unless you like segfaults – to run the engine concurrently across multiple threads. With a decent preemptive scheduler (this is distinct from the userland/TrueAsync scheduler), you could pack multiple requests in the same thread while waiting on I/O, and have a different thread pick up work if the I/O finished too early. This will be entirely transparent to userland and other than TSRM changes and a few convienent hooks, be handled completely by a FrankenPHP (or even, Swoole) scheduler. Where this intersects with TrueAsync is being able to further pack coroutines (and especially "native" coroutines like file_get_contents(), PDO, etc) across fewer threads, making full use of CPUs. There is no need for parallelism in this model – at least when it comes to it being visible to userland. And this is just pie-in-the-sky thinking, because first, TrueAsync needs to be worked on. It would be more beneficial to everyone, to focus on that, and not this. At least right now, it is a waste of everyone's time. That's my roadmap for FrankenPHP over the coming *years* and they're almost completely unrelated to coroutines and TrueAsync. — Rob
