我正在学习Swift 3,我将速度与Rust进行了比较,速度大约慢了4倍。我不知道x86程序集,所以我问为什么它会变慢?
Swift 3代码:
let n = 10000000
var v = [Int]()
var sum = 0
for i in 0..<n {
v.append(1)
sum += v[i]
}
print(sum)
swiftc sum.swift -O
这是等效的Rust代码:
fn main() {
let n = 10_000_000;
let mut v = Vec::new();
let mut sum = 0;
for i in 0..n {
v.push(1);
sum += v[i];
}
println!("{}", sum);
}
rustc -o sumrs sum.rs -O