To (potentially) match Rust/C++ performance Swift needs
1. Stack and static-allocated arrays.
2. True pass-by-reference for value types.
3. A sufficiently-smarter compiler that's more often able to elide dynamic allocations, reference counting, bounds checks, vtables etc. (Lifetime semantics will help with this).