我喜欢Apple
及其所做的事情,但是Swift
... OH GOD!
配置:
编译时间: 3分钟。
看起来像“新的最好和惊人的快速,梦想”这种配置是不够的,它就像Google Chrome
- InfiniteLoop(find free memory - eat)
HEADERMAP_USES_VFS
设为YES
(无更改)Build Settings / Architectures / Build Active Architecture Only
到YES
(一些改进)设置defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 4
(8)
(有时情况会变得更糟)
将优化级别设置为-Onone
(无重大改进)
DWARF
而不是DWARF with dSYM File
Find implicit dependencies
(无主要版本
改善)创建新项目并将所有文件移至新文件中(花费的时间过长,时间会有所改善)
将编辑器从默认更改为其他可用(更糟糕)
关于如何编写快速编译的Swift代码的严格规则(详见下文)
我想每个人都在等待新的Xcode 8.2 beta 2
:
只有很小的时候,Xcode不会重建整个目标 发生了变化。 (28892475)
但这只是部分正确,我仍然有很长的编译时间 - 从6-12分钟变为3-8分钟。有关详细说明,请访问here和here
此外,我在代码编写过程中遵循了所有这些规则:
或者说,不要使用任何“新酷炫功能”因为你会等待很长时间。
再试一次 - 是here所述的解决方法:
转到产品 - >方案 - >编辑方案。在左侧选择Build 列并取消选中“查找隐式依赖项”但此标志应该 在您第一次构建项目时保持检查状态。
但是,这种解决方法不是我正在寻找的,这也可以作为一种临时解决方案。
Swift
是一种痛苦,不是因为它很难写,而是因为它很难使用(至少在某些机器上)。
为了比较:我在Objective-C
上有一个项目,有2k个类,11个pod--干净的编译时间是~30秒。
此外,我发现了很多关于快速性能的漏洞:
我的问题是:
答案 0 :(得分:7)
此问题对我来说也是极 令人沮丧。我们已经尝试过您提到过的几种解决方案,而且没有一种解决方案。
使编译时间显着改善的一件事是:
在Whole Module Optimization
中添加-Onone
时启用Other Swift Flags
见这 - Speed Up Swift Compilation
我将Swift 3
与Xcode 8.3
一起使用。
答案 1 :(得分:2)
您可能已开启代码优化,而这是构建发布版本的必要条件,对于开发版本而言,这并不是特别重要。
代码优化的作用与它所说的完全相同,它优化了代码,使得生成的二进制二进制文件更小。它做的事情,比如将变量/方法重命名为单个字符等......就像我说你提交到应用程序商店时显然想要这样,但你可能不在乎应用程序是否在开发时更大。
您可以转到项目设置>关闭开发版本的代码优化。构建设置,搜索'optim',在Swift编译器下 - 代码生成将优化级别设置为无[-Onone]以进行调试构建。
这应该会显着缩短您的构建时间。
答案 2 :(得分:2)
我们通过使用Carthage代替Cocoapods来增加编译时间,以包含第三方库。
答案 3 :(得分:1)
没有调试限制的整个模块优化
只需将 SWIFT_WHOLE_MODULE_OPTIMIZATION 添加为用户定义的设置,其值为 YES ,您的编译时间应该会有很大改善。
此修复程序由Zalando的开发人员介绍。向他们大喊大叫。 https://jobs.zalando.com/tech/blog/improving-swift-compilation-times-from-12-to-2-minutes/?gh_src=4n3gxh1