gpt4 book ai didi

performance - for 循环 : why is i++ slower than i = i + 1 in swift

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:10 25 4
gpt4 key购买 nike

这是一个带有普通增量运算符“i++”的普通空循环

import Foundation

let start = CFAbsoluteTimeGetCurrent()

for var i = 0; i < 1000000; i++ {

}

let timeTaken = CFAbsoluteTimeGetCurrent() - start

println(timeTaken) // 0.0229730010032654

但是这个“i = i + 1”的循环要快得多

import Foundation

let start = CFAbsoluteTimeGetCurrent()

for var i = 0; i < 1000000; i = i + 1 {

}

let timeTaken = CFAbsoluteTimeGetCurrent() - start
println(timeTaken) // 0.00384700298309326

第二个循环快 5 到 6 倍

我知道 swift 仍处于测试阶段,我不会将它与其他语言进行比较,但这对我来说毫无意义

最佳答案

这不是优化器问题吗?一个公平的测试世界是

var i = 0
for j in 1..1000000 {
i++
}

var i = 0
for j in 1..1000000 {
i = i + 1
}

关于performance - for 循环 : why is i++ slower than i = i + 1 in swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24303415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com