Swift文件被编译了50次,怎么优化?

需求: 这个代码为什么会被编译多次,我该从哪些方面考虑优化?

我项目中的一个swift类编译时间是 599ms,但是被编译了50次。

下面是我通过查看编译时长工具解析出来的编译情况:

同时分析Xcode的编译日志文件也得出相同的结论:

其他描述:

项目是swift和OC混编的,大部分是swift代码,少量OC
另外第三方库是通过cocoapods管理的。

1200多个swift文件
400多个OC文件

总编译时长:4m 38s

感谢大佬们。。。

** 环境:
MacBook Pro (Retina, 15-inch, Mid 2015)
2.2 GHz Intel Core i7
16 GB 1600 MHz DDR3

Xcode 10.1
swift 4.2

1 个赞

在stackoverflow上找到一个类似的问题,但还是没看到找到具体原因和解决方案。
https://stackoverflow.com/questions/42196442/project-swift-h-file-after-swift-3-0-migration-is-compiling-the-same-functions-h

听起来像是swift编译器的设计问题,我不认为你能以比较小的代价做什么特别大幅度的优化。

Now,我对Swift编译前端的经验基本为0,我个人的意见是问问搞前端的那帮人,你可以在 forums.swift.org 上找到他们,或者在https://bugs.swift.org开一个bug报告

1 个赞

好的,谢谢