zoukankan      html  css  js  c++  java
  • 加快XCode的编译链接速度(200%+)—XCode编译速度慢的解决方案

    最近在开发一个大项目的时候遇到一个很头疼的问题,由于项目代码较多,每次都要编译链接1分钟左右,调试的时候很浪费时间,于是研究了一下如何提高编译链接的速度,在这里分享给大家。

    提升编译链接的速度主要有以下三个方式:

    1. 提高XCode编译时使用的线程数

    [plain] view plain copy
     在CODE上查看代码片派生到我的代码片
    1. defaults write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 4  


    XCode默认使用与CPU核数相同的线程来进行编译,但由于编译过程中的IO操作往往比CPU运算要多,因此适当的提升线程数可以在一定程度上加快编译速度。本人采用的是4核的CPU,将线程数改为8后编译速度略有提升。

    2. 将Debug Information Format改为DWARF

    在工程对应Target的Build Settings中,找到Debug Information Format这一项,将Debug时的DWARF with dSYM file改为DWARF。

    这一项设置的是是否将调试信息加入到可执行文件中,改为DWARF后,如果程序崩溃,将无法输出崩溃位置对应的函数堆栈,但由于Debug模式下可以在XCode中查看调试信息,所以改为DWARF影响并不大。这一项更改完之后,可以大幅提升编译速度。

    需要注意的是,将Debug Information Format改为DWARF之后,会导致在Debug窗口无法查看相关类类型的成员变量的值。当需要查看这些值时,可以将Debug Information Format改回DWARF with dSYM file,clean(必须)之后重新编译即可。

    3. 将Build Active Architecture Only改为Yes

    在工程对应Target的Build Settings中,找到Build Active Architecture Only这一项,将Debug时的No改为Yes。

    这一项设置的是是否仅编译当前架构的版本,如果为No,会编译所有架构的版本。需要注意的是,此选项在Release模式下必须为No,否则发布的ipa在部分设备上将不能运行。这一项更改完之后,可以显著提高编译速度。

    本人在设置完以上三个项之后,编译时间从1分钟左右减少到10秒左右,因此效果还是相当明显的。

  • 相关阅读:
    软件开发和机械制造的核心差别
    不做纯技术导向的程序员与中国特色的社会主义
    从代码里你可以看到什么?
    多少钱才可让人重拾理想
    项目经理一定比码农好么?
    技术还是管理?
    评李彦宏先生的内部邮件
    组织行为学对项目管理的意义(1)
    组织行为学对项目管理的意义:动机理论
    Silverlight与ashx通讯序列化DateTime时需注意的细节
  • 原文地址:https://www.cnblogs.com/bigshow1949/p/5953590.html
Copyright © 2011-2022 走看看