Tag: 编译时间

在Swift 4中优化构建时间

随着Swift的成熟,其编译器也已成熟。 自从Swift 2众所周知的缓慢构建时间以来,我们已经走了很长一段路,再加上当时Xcode的普遍错误,我不确定那时我们是如何完成工作的! 尽管Swift 4和Xcode 9的编译时间似乎变得更好了,我们是否可以进行任何调整以进一步提高性能? 那我们的Swift代码呢? 如果您在过去两年中完全遵循此问题,则可能会遇到有关如何优化Swift代码以加快编译时间的建议。 这些调整是否仍然必要? 在这篇文章中,我将尽力回答这些问题,并从我自己在Swift 4中的构建时间的经验中提供一些学习经验。 快速构建时间-过去,现在和未来 尽管自Swift成立以来就一直观察到构建速度很慢,但直到Matt Matteded发表他关于一个看似简单的代码片段的观察结果,并花了12多个小时才能编译之后,我才觉得它并没有真正成为主流问题。 当然,该错误已在Swift 3中修复,并改进了将Swift和Objective-C代码混合在一起的项目的编译时间。 Swift 4继续改善了编译时间,毫无疑问,当Swift 5明年发布时,我们将看到更多的改进。 缩短Swift构建时间 何时开始做某事 有时很明显,您的编译时间有些不正确。 您可能会注意到,您的项目似乎需要花费很多时间进行编译-尤其是当您经常切换分支时。 在其他情况下,您可能需要花费一些时间来优化构建时间: 项目进行中-在项目中期“健康检查”中尽早发现潜在问题 在项目即将结束时-确保高质量的初始发行版,并为以后的发行版成功做好准备 继承代码库-从长远来看,现在修复速度下降应该会带来收益 缩短Swift构建时间 你能做什么? 您可以采取两项主要措施来缩短构建时间–调整项目设置或调整Swift代码。 调整项目设置很容易,可以带来重大的改进,绝对值得花时间投资。 调整您的Swift代码会花费更多时间,但也会产生积极的结果。 调整项目设置 仅构建活动架构 确保调试构建的仅Build Active Architecture(仅构建活动体系结构 )设置为Yes 。 这是创建新的Xcode项目时的默认设置,但是最好再次检查以确保它不会意外地设置为其他设置。 调试信息格式 确保将“ 调试 选项 ”的“ 构建选项” →“ 调试信息格式”设置为DWARF 。 这是Xcode的默认设置,但可以仔细检查。 注意:如果您使用的是Fabric / Crashlytics,则可能需要使用dSYM File将此设置保持为DWARF 。 […]