4 ms·
How so? The decision between a stackful and a stackless coroutine is precisely that, a decision. The tradeoff is that storing all registers/stack variables and
by banachtarski 7y ago
How so? The decision between a stackful and a stackless coroutine is precisely that, a decision. The tradeoff is that storing all registers/stack variables and processor state before a yield and restoring it after a resume is a non-trivial cost. For some applications, that cost may not matter, but for others, it may be critical.
Also, this is less like a goto, and more like a setjmp/longjmp.
- Ericson2314 7y agoA stack is an over approximation of the closure of the continuation. You want something to create a union of all the relevant local variables of each state. Doing this efficiently is non compositional and so requires language support.