我对使用 Xgrid 加速跨多台机器的 Xcode 编译的想法很感兴趣……但似乎很难找到有关人们使用它的经验、任何陷阱等的任何信息。我没有多台 Mac我现在可以测试它,所以我很好奇。
你试过了吗?它对你的效果如何?你见过什么样的加速?
我对使用 Xgrid 加速跨多台机器的 Xcode 编译的想法很感兴趣……但似乎很难找到有关人们使用它的经验、任何陷阱等的任何信息。我没有多台 Mac我现在可以测试它,所以我很好奇。
你试过了吗?它对你的效果如何?你见过什么样的加速?
我用了一段时间,但对于中等规模的项目(在 4 核 Mac Pro 上构建需要不到 5 分钟的时间),通常没有得到很好的结果。最值得注意的问题是,当我设置 Bonjour 发现可用机器时,当前机器(即我开始构建的机器)并没有作为可用构建机器之一包含在内。由于我通常坐在 4 核 Mac Pro 上并试图利用较小的盒子(Macbook Pro、Mac Mini 等),它大大减慢了我的构建时间,因为最大的盒子没有帮助。解决方案是手动添加所有机器,但是如果任何机器不在线(这对我来说很常见),我就会遇到一些减速。
最令人沮丧的是,当我上次检查时,iPhone 项目根本无法在 Xgrid 上编译(尚未检查 3.0 SDK 时间范围,因此这可能已经改变)。更糟糕的是,请求分布式编译实际上会导致错误,而不仅仅是被忽略。所以在 Mac 和 iPhone 之间切换时,我不得不来回切换我的配置。我经常这样做,所以这成了一个严重的头痛。
最后,这对我来说比它的价值要麻烦得多,特别是因为我的主机比所有其他机器大得多,而且我的大多数项目的总体构建时间在 Mac Pro 上都很短。如果我的主要机器是笔记本电脑,我可能会有不同的感觉。
我发现它在运行相当长的任务(大约 10 分钟)时效果很好。我已经设置了一个由 4 台机器组成的 XGrid 来对电影进行转码。
不过,在使用 XGrid 框架时,我在 XCode 4 中遇到了很多问题。启用垃圾收集器后,请勿尝试使其正常工作!