如何在不修改任何项目的情况下加速 xcode 构建?

Posted

技术标签:

【中文标题】如何在不修改任何项目的情况下加速 xcode 构建?【英文标题】:How to speedup xcode builds without any project modifications? 【发布时间】:2010-02-05 17:08:21 【问题描述】:

最新版本或 XCode (3.2.1) 在 OS X 10.6 上运行非常缓慢。

您可以对您的 Mac 进行哪些调整以加速 Xcode 构建 过程。

我不是在寻找诸如如何重组项目之类的一般提示,只是与环境相关的调整。

例如,我记得在 Windows for Visual Studio 上,两个显着的加速是禁用防病毒和 NTFS 上次访问时间。

所以我的目标是其他:硬件升级、项目结构修改或配置分布式构建。

更新 #1 - 限制 cc1plus 进程的数量可能有助于加快速度。我认为有一个可用于此的环境变量,但我无法重新定位此信息。

【问题讨论】:

【参考方案1】:

我想我可以用这个命令让 Xcode 以不错的速度构建:

# Xcode 3.x
defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 4

# Xcode 4.x
defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 4

这将限制在构建时执行的进程数。在将它添加到我的机器(4 核/3GB RAM)之前,构建过程比单核慢!

我认为 XCode 本身无法估计正确的子任务限制,因为它仅通过查看您的内核数量并忽略您拥有的 RAM 量来进行估计。

【讨论】:

我认为简单的单行命令是任何人都可以做的最重要的事情来改变生活,如果他们使用 Xcode 作为 c++ 编译器。这真的是改变生活!我一直在用 Xcode 做噩梦,直到​​我限制了它使用的内核数量。系统冻结,我所有的内存都被用完了。我什至要买一个全新的系统,然后这个命令来了很长时间,伙计!真的应该有人告诉 Xcode 开发人员。【参考方案2】:

现在是 Xcode 4:

默认写入 com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 4

【讨论】:

【参考方案3】:

查看 Activity Monitor 并查看是否有任何其他进程占用 CPU 时间(例如 Spotlight 或 Time Machine)。还要查看 Activity Monitor 中的 System Memory 选项卡,看看您是否正在分页。

【讨论】:

“旋转等待光标”不时出现。查看系统监视器,我观察到大部分 cpu 时间被约 5 个 cc1plus 进程使用(机器有 4 个内核/4GB RAM)。 CPU使用率仍然没有那么高,但现在Xcode被标记为“没有响应”。 糟糕,现在我看到了 9 个 cc1plus 进程 - 这不应该发生在 4 个内核上。【参考方案4】:

我记得最近看到有人通过重新安装 Xcode 解决了 Xcode 速度问题。

如果您这样做,您可能希望保存下载的文档并在重新安装后恢复它们。它将使您免于长时间下载。您可以通过转到 Preferences / Documentation 找到文档文件。点击 Doc Set 旁边的小“i”,然后在小窗口中选择“reveal in finder”。

【讨论】:

【参考方案5】:

禁用代码感知索引可以在大型/复杂项目中释放大量内存和 CPU,同时加快 IDE 本身的速度。

Xcode 3

使用应用程序中的首选项。

Xcode 4

defaults write com.apple.dt.XCode IDEIndexDisable 1

【讨论】:

以上是关于如何在不修改任何项目的情况下加速 xcode 构建?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建 .dSYM 文件?

在 Linux 机器上构建 Xcode 项目

在没有 Xcode 项目和其他应用程序的情况下,如何修改已编译 macOS 应用程序的样式?

如何在不破坏文件的情况下重命名xcode项目中的文件夹名称

如何在不再次运行配置脚本/cmake 的情况下修改安装路径

Xcode - 如何在不更改 UIScreen 大小的情况下添加 xib 启动屏幕