Objective C 循环中局部变量的优化

问题描述 投票:0回答:2

我记得很多年前他们教我们在循环之外创建局部变量,例如:

SomeVariable* var;
for(int i; i<10; i++)
{
    var = [someArray objectAtIndex:i];
    (...)
}

我假设现代编译器会自动完成这种优化,例如在 Objective C 中,下面的代码将被优化以与上面的代码一样快地执行:

for(int i; i<10; i++)
{
    SomeVariable* var = [someArray objectAtIndex:i];
    (...)
}

我说得对吗?

ios objective-c loops optimization
2个回答
2
投票

for-in
循环经过优化,可以快速执行。

例如:

for( SomeVariable *var in someArray )
{
    //do something with var
}

2
投票

据我所知,这一切以及周围的许多事情(循环概述、分支预测等)将由编译器自动完成。无需过早优化。

只需接触最佳实践和“良好的设计模式”,然后让编译器完成它的工作!

关于 Wikipedia 的好文章,如果您真的有兴趣了解更多信息,我建议您阅读“Aho、Lam、Sethi、Ullman,编译器原理、技术和工具,第二版。Addison-Wesley,2006 年”。

© www.soinside.com 2019 - 2024. All rights reserved.