Performance is not the only benefit. You also get freedom from data races, and (arguably) the borrow checker imposes structure that makes the program easier to read and reason about, because it's clearer who "owns" (and can mutate) what, and what is shared.
I've missed this property when writing Java and JS even before Rust was a thing, and Go has felt the same.