4 ms·
If you're designing a language you might be interested in this paper. https://www.cs.purdue.edu/homes/rompf/papers/xhebraj-ecoop22.pdf https://www.cs.purdue.ed
by Gibbon1 2y ago
If you're designing a language you might be interested in this paper.
https://www.cs.purdue.edu/homes/rompf/papers/xhebraj-ecoop22.pdf https://www.cs.purdue.edu/homes/rompf/papers/xhebraj-ecoop22...
> We design a type system that tracks the underlying storage mode of values, and when a function returns a stack-allocated value, we just don’t pop the stack Instead, the stack frame is de-allocated together with a parent the next time a heap-allocated value or primitive is returned.
> Our evaluation shows that this execution model reduces heap and GC pressure and recovers spatial locality of programs improving execution time between 10% and 25% with respect to standard execution.
- malkia 2y agoWouldn't that be expensive to use with FFI, or call the OS functions? What about interrupt handling? Didn't Go went through a similar phase with spaghetti stack, only to revert back to standard one. Then it'll be tricky to do yet another "stack" walker to obtain performance metrics (eBPF, or say on Windows through standard ETW mechanisms)