| > I don't think that's been conclusively shown. That would be interesting to study. We'll do it for Java pretty soon, I guess. > After all, even if you make stack growth fast, it's hard to compete with a system that has no stack growth at all! If the same Rust workload were to run on such a system there wouldn't be stack growth, either. The stack would stay at whatever size Rust now uses to store the async fn's state. > a tremendous amount of work in the Linux kernel I don't think any work in the kernel would have been required. > Ultimately, the choice was clear. I agree the choice is pretty clear for the "zero-cost abstractions" approach, and that Rust should follow it given its target domains. But for domains where the "zero-cost use" approach makes more sense, the increase in accidental complexity is probably not worth some gain in worst-case latency. But that's always the tradeoff the two approaches make. |