我有一些源文件,每个源文件从 20,000 行到 120,000 行不等。它们由简单的(非常长的)函数组成,只是对 C 方法的一长串调用(在 Apple 的 API 中 - 例如 Quartz),并且应该易于编译。
但是,Xcode 需要数小时来编译它们,并且每次 xcodeproj 文件更改时(xcode 错误?)似乎都会强制重新编译。此外,执行存档(用于上传到 App Store)无论如何都会导致完全重新编译。
这些文件太长了——它们是代码生成工具的输出——我最终可能会让它们更小——但肯定有办法让 clang 在这种长度的文件上正常工作吗?
我尝试过的事情:
- 在 32 位模式下运行 - 不可能:Apple 现在已删除此功能https://stackoverflow.com/a/9791396/153422
- 添加更多 CPU / 内核 - 可忽略的影响:clang 在大多数操作中是单线程的
- 添加更多 RAM - 影响可忽略:8 GB RAM 并不明显优于 2 GB RAM(不足为奇:它只是一个文件 - 不太可能会用完大量内存!)
- 添加 SSD 驱动器 - 小影响:CPU + SSD 稍慢的笔记本电脑的编译速度比 CPU + 普通 HD 稍快的台式机稍快(10%?)
- 禁用 SVG/GIT 集成 - 没有效果:Apple 的 SVN 实现非常有问题,我们已经将其关闭 - 对于所有项目。
- 禁用 OS X 索引 - 小影响:Apple 的 Spotlight / 背景索引在很多方面都被破坏了。关闭它会使构建时间更快一些 - 但可能是因为它通常会使 Xcode 更快。