我什么时候应该为Xcode方案检查"Parallelize Build"?

mei*_*sel 7 parallel-processing xcode compilation

我看到我的当前方案中没有选中此选项,并且在某些情况下,网络上的一些地方建议不要使用此选项.有人可以提供更彻底的方法来确定何时可以检查该方案的方案?

kga*_*dis 7

我不知道"Parallelize Build"设置的内部结构,但我们可以推断为什么设置有时可能不是有益的.

首先,了解"Parallelize Build"的作用是很好的.来源:

此选项允许Xcode通过构建彼此不依赖的目标来加快总构建时间.这对于具有许多较小依赖项的项目来说可以节省时间,这些依赖项可以轻松并行运行.

当您有许多相互依赖于其他目标的目标时,此选项可能会产生问题.

例如,假设一个目标是一个框架,您的应用程序目标依赖于该框架.如果您对框架目标进行了修改,那么在某些情况下您必须在应用程序目标之前构建框架目标.并行化这些将不起作用,因为要使应用程序目标和框架目标一起工作,它们必须"同步".如果不首先编译框架目标中的更改,我们就无法构建应用程序目标.

上面是一个简单的例子,Xcode可能已经处理得很好,但是有些项目变得非常复杂,并且没有向Xcode提供目标依赖关系的正确信息,它可能无法正确地并行化你的目标.

总之,该设置可能是有益的,并且可以降低构建速度如果启用该设置,并且没有发现任何代码在目标之间不同步的问题.否则,请将其关闭.与所有性能设置一样,请确保测试并测量您是否确实看到了构建速度的提升.

  • @Blake,这意味着您的依赖项和框架存在问题。您应该诊断并修复这些错误,而不是通过禁用“并行化构建”来限制自己 (5认同)
  • 为了支持该答案,关闭“并行构建”解决了我在尝试构建具有许多依赖框架的复杂项目时收到的一些“找不到文件”错误。 (2认同)