为什么在 XCode 中默认循环展开



似乎在最新的XCode,8.2.1中,Apple LLVM 8.0 - Code Generation部分下的Unroll Loops优化设置默认关闭,即使对于Release配置也是如此。有什么好的理由吗?我认为循环展开是最基本的优化之一。

似乎禁用它以避免增加生成的代码的大小。

针对性能和响应能力进行调整

表 6-1 编译器优化选项

更快

编译器执行几乎所有受支持的优化,这些优化不需要时空权衡。编译器不会使用此选项执行循环展开或函数内联。此选项会增加编译时间和生成的代码的性能。

编译器执行所有优化,以尝试提高生成代码的速度。此选项可以在编译器执行函数的积极内联时增加生成的代码的大小。通常不建议使用此选项。

最新更新