4 ms·
This per-call-site change in the async/await case is entirely unnecessary. Users of greenlet or similar get the same semantics without changing all their call s
by anonymoushn 7y ago
This per-call-site change in the async/await case is entirely unnecessary. Users of greenlet or similar get the same semantics without changing all their call sites. The implementations are different, but there are zero-cost implementation techniques available either way.
- wahern 7y agoBut either way there's an ABI that the compiler needs to adhere to, and any magic added to the stack management will effect everything else that must follow the same stack protocol. The stackful/fiber approach may be less cost in terms of performance and even overall complexity, but it still represents hidden complexity. That hidden complexity comes to the foreground when you want to mix software that uses completely different stack management protocols, such as the typical C ABI vs Go.