更快"发布"从Xcode构建?

时间:2014-09-19 14:27:09

标签: ios xcode

我对Xcode比较陌生。我们正在测试一个显示传入数据的应用程序,它需要尽可能快。对于其他平台,我需要从" debug"到"发布"为了优化启动和调试要删除的代码,这可能会对速度产生深远的影响。在Xcode中需要做什么才能在快速/释放模式下构建?

(我正在谷歌搜索并看到很多似乎在附近的点击,但我可能会被术语略微抛弃,我可能需要它有点愚蠢:))

感谢您的帮助。

3 个答案:

答案 0 :(得分:5)

第一步是如上所述设置发布的优化级别。这里有很多选择。来自clang LLVM编译器手册页(man cc) - (注意-Os是Release的默认值):

   Code Generation Options
   -O0 -O1 -O2 -O3 -Ofast -Os -Oz -O -O4
       Specify which optimization level to use:

       -O0 Means "no optimization": this level compiles the fastest and
           generates the most debuggable code.

       -O1 Somewhere between -O0 and -O2.

       -O2 Moderate level of optimization which enables most
           optimizations.

       -O3 Like -O2, except that it enables optimizations that take longer
           to perform or that may generate larger code (in an attempt to
           make the program run faster).

       -Ofast
           Enables all the optimizations from -O3 along with other
           aggressive optimizations that may violate strict compliance
           with language standards.

       -Os Like -O2 with extra optimizations to reduce code size.

       -Oz Like -Os (and thus -O2), but reduces code size further.

       -O  Equivalent to -O2.

       -O4 and higher
           Currently equivalent to -O3

你会注意到'Ofast'选项 - 非常快,有些冒险。

第二步是考虑是否启用“Unroll Loops”。我已经读过,在某些代码中这可以导致15%的速度增加(以调试为代价,但不是Release版本的问题)。

接下来,考虑是否要构建和使用优化配置文件。有关详细信息,请参阅Apple,但要点是:

  

配置文件引导优化(PGO)是一种改进编译器的方法   优化应用。 PGO使用特殊仪表的构建   该应用程序生成有关最常用的配置文件信息   代码路径和方法。然后编译器使用此配置文件   信息集中在最常用的优化工作上   代码,利用有关程序如何的额外信息   通常表现为更好地进行优化。

您可以定义配置文件以及是否在Build Settings - >下使用它。 Apple LLVM 6.0 - 代码生成 - >使用优化配置文件。

答案 1 :(得分:3)

首先看看Xcode中的这个部分(Xcode 5的截图,但Xcode 6上的相同)Xcode optimization

您还应该更喜欢PNG到Jpeg(因为Jpeg需要更多的计算 - 但通常在尺寸方面较小,因此网络更好......) 最后,使用多线程。 那些(看起来很简陋)是要看的第一步。

答案 2 :(得分:2)

编辑方案以使用发布配置。