>第一个 – 使用Xcode 7.2.3编译的35k Swift LOC,Swift 2.1(或2.0?)
>第二个 – 使用Xcode 8.2.1编译的15k Swift LOC,Swift 2.3
>第三个 – 使用Xcode 8.2.1编译的15k Swift LOC,Swift 3.0
所有这些的编译时间都非常糟糕(干净构建需要10分钟),而且每个版本的开发都在慢慢爬行.
我已经尝试过了:
>使用整个模块优化
>将C语言更改为编译器默认值
>分析项目的构建时间并优化瓶颈(一些方法需要6-10秒才能使用数组连接进行编译,nil合并运算符等),这些方法削弱了15秒 – 完全不明显的区别
> HEADERMAP_USES_VFS =是
>其他一些我现在不记得了
我正在使用一台固态硬盘,8GB RAM& amp; 2.6ghz i5,如果重要的话.
任何人都知道可能导致这种情况的原因,现在该怎么处理甚至是任何解决方法?从我在SO和其他地方读到的内容来看,它似乎是一个未解决的编译器问题.
编辑:是的,我正在使用Cocoapods作为依赖项.我会尝试搬到迦太基看看会发生什么.
解决方法
>仅将Build Active Architecture设置为Yes.
>将优化级别设置为无[-Onone]
>添加名为“SWIFT_WHOLE_MODULE_OPTIMIZATION”的用户定义设置,值为“YES”
>清空派生数据并构建.
然后,您还可以使用此工具分析任何缓慢编译的Swift文件:https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode
我正在经历需要6-7分钟的构建时间.我离开Cocoapods并开始使用Carthage,这有助于清洁构建.即使这样,构建仍然需要3分钟.最大的改进来自我上面提到的步骤.
更新
在Debug版本中,不是添加用户定义的设置,而是将优化级别设置为“快速,整个模块优化”.然后在其他Swift Flags中为您的调试版本添加’-Onone’.