加快缓慢的Swift构建时间

在Xcode中查找问题区域并指定要修复的类型信息

阅读 @nickoneill的 这篇文章和更多内容, 了解在Swift的 That Thing中 发现Swift模式

今天的简短说明:人们似乎对我们现在可以轻松地使Swift 2.2编译器由于类型推断而花费12个小时以上的时间来编译一些基本代码很感兴趣。 从Matt Nedrich的这篇文章中,我们可以看到一个简单的代码示例花了太长时间而无法确定应该使用哪种类型。

现在,Swift记录了编译每个函数所花费的时间,再次使用⌘-B 生成项目,然后使用⌘-8跳转到Build Report导航器,您将在其中看到最新的构建(可能还有其他一些构建)。

接下来,右键单击您构建的目标的构建日志,然后选择Expand All Transcripts以显示详细的构建日志。

最后,您应该看到一系列绿色框,每个绿色框代表编译过程中的文件或步骤。 这些框内的文本可能需要一些时间(或单击一下)才能正确加载。 如果正确设置了构建标志以显示函数编译时间,则应该在左侧看到一行构建时间。 扫描这些行以查找任何看起来可疑的东西! 任何超过一百毫秒的时间都应进行调查。

我们可以在viewDidLoad中看到我们的630ms +的编译时间,在此之前我们已经测试了类型推断。 630ms只需几行代码!

现在我们知道类型推断可能是一个问题,我们可以调查问题区域,指定类型信息并尝试再次构建。 在这种情况下,只需将结构定义为Dictionary 即可使我们对该函数的编译时间缩短至21.6ms 。 即使再添加其余的employee对象,也不会有意义地改变编译时间。 问题解决了! 敲击代码中其余的潜在问题区域,然后尝试添加类型信息以加快项目其余部分的编译时间。

最初发布于 thatthinginswift.com