如何排查 Swift 编译速度慢的原因

2016-07-24 13:19:22 +08:00
 shippo7

最近接手了一个 Swift 项目,以前是个外包公司做的,发现编译速度巨慢,每次要编译将近 10 分钟。而且有时候不 clean 的话,程序会出现一些奇怪的问题,我等的快烦死了。有什么办法能排查编译速度慢的原因吗?

3709 次点击
所在节点    问与答
2 条回复
walkingway
2016-07-24 15:04:19 +08:00
之前总结过,对 Swift 2.2 编译性能影响比较严重的有以下几点:

1. 尽量不要用类型推断,这个有严重的性能 bug
2. 尽量不要用 lazy var
3. 尽量少用 closure

关于编译消耗具体时间的细节可以看这篇文章: http://irace.me/swift-profiling

比如,在 Swift 2.2 里下面这种要编译 12 个小时,不过有人已经提交给 Apple 修正了, Swift 3.0 会修复,但是现在还是忍着吧

walkingway
2016-07-24 15:07:32 +08:00
还有实现直接写在类里比写在 extension 里编译要快

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/294538

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX