gpt4 book ai didi

swift - 我应该将 let 值放在 for 循环之外以获得更好的性能吗?

转载 作者:搜寻专家 更新时间:2023-11-01 06:41:50 24 4
gpt4 key购买 nike

例如,如果我有这样的代码

for i in 1 ... 10000 {
let someValue = 9
...
}

我应该将 let 值放在循环之外,这样我可以获得更好的性能还是完全没有必要?

autoreleasepool {
let someValue = 9
for i in 1 ... 10000 {
...
}
}

有什么想法吗?

最佳答案

对于可以快速初始化的类型,您可能不需要使用第二个版本,因为这只会带来较小的性能改进。

编译器也可以优化它。特别是在 structsenums 的情况下,因为它们根本无法改变。尽管对于类,您可以改变其内容,但如果编译器无法在编译时检查它是否发生改变,则无法对其进行优化。

总而言之,对于这样一个使用 Int 的简单案例,使用哪一个取决于你,因为假设你做了一些繁重的事情(不仅仅是初始化一个 Int) 在 for 循环中。

注意:对于 Swift 2 引入的不同范围做{}:

do {
let someValue = 9
for i in 1 ... 10000 {
...
}
}

关于swift - 我应该将 let 值放在 for 循环之外以获得更好的性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34284098/

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