Thanks for the detailed explanation, makes complete sense.
I suppose that means that for projects such as python-wasm [0] that are porting other language runtimes to WASM they will have to go the Asyncify route for CF Workers with all the overhead that entails?
From the looks of it they don't think asyncifying Python will be possible in the near to medium term [1].
If this becomes a big enough problem, we might be able to build a work-around into the Cloudflare Workers Runtime itself so that it can support synchronous waits. It'll take some hacks but I think it's doable, without actually supporting threads.
I'd probably use fibers, like node-fibers used to do. The problem is V8 stopped supporting fibers a few versions ago. We'd have to hack support back in. That's something we probably could get done but I'm not exactly excited about it. :)
I suppose that means that for projects such as python-wasm [0] that are porting other language runtimes to WASM they will have to go the Asyncify route for CF Workers with all the overhead that entails?
From the looks of it they don't think asyncifying Python will be possible in the near to medium term [1].
0: https://github.com/ethanhs/python-wasm
1: https://github.com/ethanhs/python-wasm/issues/12