我有一些源文件,范围从20,000行到120,000行不等。它们由简单(非常长)的函数构成,只是对C方法(在Apple的API中 - 例如Quartz中)的一系列调用,并且应该易于编译。在Xcode 4.x中编译大型源文件(10k +行)
但是,Xcode需要几个小时才能编译它们,并且每次xcodeproj文件更改时都会强制重新编译(xcode bug?)。另外,做档案(上传到App Store)会导致完整的重新编译。
这些文件是愚蠢之久的 - 他们是一个代码生成工具的输出 - 我可以最终能够让他们更小 - 但肯定有办法让铛正常工作的文件这个长度?
事情我已经尝试:
- 在32位模式运行 - 不可能的:苹果公司已经取消了这一功能https://stackoverflow.com/a/9791396/153422
- 添加更多的CPU /核心 - 不可忽视的作用:铛是单线程的大多数操作
- 添加更多RAM - NEGLIGIBLE EFFECT:8 GB RAM并不明显优于2 GB RAM(没有意外:它只有一个文件 - 不太可能会用尽内存!)
- 添加SSD驱动器 - 小效果:CPU + SS稍慢的笔记本电脑D的编译速度稍快(10%?),比CPU稍微快一点的CPU +普通HD
- 禁用SVG/GIT集成 - 没有作用:苹果SVN的实现太麻烦了,我们已经关闭了它 - 对于所有项目。
- 禁用OS X索引 - 小效果:Apple的Spotlight /后台索引在很多方面都被打破。关闭它会使编译时间更快一些 - 但也许是因为它使Xcode的速度更快。
pt.3)大型编译可以是内存绑定。内存耗尽肯定会让您的构建变慢。我见过构建会消耗几GB的内存。而其他阶段可能会消耗大量内存,这取决于您的文件和构建设置(例如,链接) – justin
对不起,我不确定你的意思 - 正如我所说的,添加RAM在这里没有效果 – Adam
你在代码生成工具中尝试过不同的设置吗? – orkoden