Has (either in Go or in Rust) some kind of hysteresis behavior been considered, to deal with hot splits / stack trashing? For example: when a stack segment becomes unused, don’t free it immediately, but keep one (or N) "spare" in case it’ll grow again soon.
Mentioned in Rust's rationale for abandoning segmented stacks:
"when out of stack a function call will force an allocation of a new segment, which is later freed upon return. This is expensive even when the new stack segmented is cached."
https://en.wikipedia.org/wiki/Hysteresis