我们大多数人有三个主要选择:
最简单的解决方案是回退到Xc3。是的,Xc4需要比Xc3更多的内存、CPU和磁盘空间和I/O。您将不得不确定您的最大问题所在,以减少它对您的影响。
我最近购买了一台新的MBP,具有两倍的物理核心和两倍的物理内存,同时升级到Lion和升级Xc4。编译时间确实有所改善,但其他大部分情况实际上都变得更慢,而且需要更多的资源。这与一个IDE完全不符,该IDE还禁止多个打开的项目,并使用统一的工作区视图。
转移到Lion + Xc4后,我的所有硬件需求在以下所有类别中都增加了一倍以上:
内存
对于大多数使用Xc4和Lion的非平凡项目来说,4GB已经太少了。你仍然可以减少这个问题。我在我的两台主要机器上有8GB和10GB,Xc4很容易消耗它们(但我的项目比你的更复杂,除非你写了非常长的行)。无论如何,您可以通过以下方式减少此问题:
CPU
Xcode 4使用新的(更精确的)完成解析器。
defaults
禁用代码感知索引(也减少了内存需求)。硬盘
这可以是速度/大小平衡。
构建
在Xc4中,xcodebuild并行到Xcode现在会默认分别构建到不同的目标目录。在Xc3中,默认设置是构建到相同的目标。验证您的设置 - 如果允许它(例如每个工作区/配置一个目标,而不是Xc3的平面构建模型),Xcode将执行大量冗余构建。
或者只需使用四核MacMinis填充抽屉,并将其用作专用或分布式构建器。
文件错误
(自我解释)
您可以在XCode首选项中启用分布式构建,然后找一些友好的人来帮助您通过组成编译机群来构建您的应用程序。
有趣的是,即使他关闭了,您的编译器仍然使用不同的算法/机制以惊人的速度构建应用程序,与以前的问题相比更快;)
这意味着他们在Apple已经忘记了孤独的程序员,他们不在团队中工作,因此,孤独的编译场景仅在版本4.0-4.2中进行了测试。
还有一种可能的解决方案,可以在某些情况下帮助加速Xcode 4:在我的情况下,主要问题似乎是我不小心将四个文件从我的构建/文件夹与我的git存储库一起检入了。在编译期间,Xcode注意到构建文件夹已更改,并触发git。由于在我的情况下,构建文件夹包含数千个文件,因此性能下降。完全从git中删除构建/文件夹(无论如何都不应该被检入)大大减少了编译时间和系统负载。性能仍然比Xcode 3慢,但比以前好得多。
关于“增加硬件”方法的快速说明...
总结:通过显著的硬件升级,我体验到了一点点的速度提升
测试:在克隆的MacBook上构建/运行完全相同的项目(唯一的区别应该是它们的硬件)
旧款MacBook Air(1.86GHZ Core 2 Duo,仅2GB RAM)
对比
全新的MacBook Pro(2.3GHZ Core i7,8GB RAM)
在iPhone 3GS上构建
MacBook Air 1:00 - 1:15
MacBook Pro ~1:00
=> 0到0:15的速度提升
在iPhone 4S上构建
MacBook Pro ~0:35
MacBook Air ~0:50
=> 约15秒的速度提升
**部分测试:在两台机器之间,模拟器的构建时间确实存在显著差异。