随着项目的增长,项目的编译速度会减慢。 在并行测试程序时,在测试程序时,这一点尤其明显。
首先,让我们找出项目对我们的改进进行编译的时间。 为此,请在终端中输入
defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES
为此,请转到“产品”部分,按住alt,然后单击“清理生成文件夹”,然后重新组装项目。 我的项目编译了
81秒 。 让我们看看改进后的结果。

首先,我们应该找出哪些地方减慢了编译速度。 默认情况下,Xcode不会在问题出处显示警告,但我们可以解决此问题。
最难的地方是出色的功能和类型检查。 因此,我们需要在Build Settings-> Other Swift Flags-> Debug部分中输入这两行。
-Xfrontend -warn-long-function-bodies=100 -Xfrontend -warn-long-expression-type-checking=100
(这里我们有100ms的编译时间,我们可以输入任意数字)
我的工作草案示例

我有一个部分耗时13778毫秒,很可能您将没有,但是由于项目的特殊性,我有这样的部分。 由于已经建立了OCR的二叉树。
由于彼此之间有很深的嵌套,并且类型定义仅在开始时(等号之前),因此编译器需要大量时间来了解其前面的类型。 (树需要30行,这是其中的一部分)
到
之后
我们确定了每个嵌套的类型,警告消失了。
另一个弱点是连续几次短路。
到
之后明确指定的类型

修复所有警告后,我们将再次检查项目的构建时间。
现在,该项目的编译速度提高了
26秒 ,提高了两倍半。

仍有工作要做,但最明显的问题已解决。