iOS Swift新手Gotcha提醒#6-减速带及如何优化XCode 10以加快构建时间!

注意1:编译模式:用于调试的应始终为 Incremental 而释放应为 Whole Module

注意2:优化级别:默认情况下,启动新项目时应正确设置。

您可以通过以下链接阅读有关快速优化的更多信息:

Swift 3中的整体模块优化
全模块优化是Swift编译器的优化模式。 整个模块的性能胜利… swift.org

另外,如果您使用cocoapods,则可能可以编辑吊舱的post post安装方法以启用正确的选项,而不必费心处理每个设置。

  post_install做|安装程序| 
installer.pods_project.targets.each做| target |
target.build_configurations.each | config |
如果config.name =='调试'
config.build_settings ['OTHER_SWIFT_FLAGS'] = ['$(继承)','-Onone']
config.build_settings ['SWIFT_OPTIMIZATION_LEVEL'] ='-Owholemodule'
结束
结束
结束
结束

步骤3.减少并发作业数,并为合适的作业获得合适的硬件。

收益递减法则在这里起作用。 您将看到具有更多并发作业以匹配cpu的数量将大大降低构建时间。

建议您在计算机中使用四个以上的内核,以将其减少到5个并发作业。

通过终端命令行输入以下命令,以使用以下命令设置Xcode允许的最大并发作业数。

 默认写com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 5 

步骤4.确保XCode10中的“ parallelize build”设置

转到您的方案:

编辑方案>构建>构建选项,并确保并行化构建已打开。

在XCode9中,资源以线性方式构建,这花费了更多时间。 但是,在XCode10中,我们可以利用并行化构建设置来通过所有并行资源大大缩短构建时间。

参考文献:

fastred / Optimize-Swift-Build-Times
收集有关优化Swift项目的编译时间的建议。 – fastred / Optimizing-Swift-Build-Times github.com 从iOS Edit-Build-Test周期减少了50%的等待时间
对于急躁的人如果您不想/没有时间阅读全文,则至少应考虑使用… labs.spotify.com 用Swift构建的最佳硬件不是您可能想到的
在上一篇文章中,我分享了与Objective-C相比有关Swift编译器性能的一些数据。 我注意到了…… www.linkedin.com

干杯!