Open
Description
Executing Blueprint steps often involves spawning subprocesses, e.g. to activate a WordPress plugin in an independent environment that can crash without crashing the main PHP process.
However, in runtime like Playground, spawning a PHP sub-process might be expensive as it would require allocating twice the HEAP inside the browser and potentially require downloading PHP.wasm again.
Let's test the performance of in-browser sub-processes, and if it's bad, then Blueprints could be compiled as follows:
- Run PHP to turn a Blueprint into a series of smaller PHP files like
step0.php
,step1.php
etc. - Each file is an isolated container and is free to, e.g., include
wp-load.php
- TypeScript runtime would run those files one by one. The PHP runtime would do the same thing.