我对Xcode比较陌生。我们正在测试一个显示传入数据的应用程序,它需要尽可能快。对于其他平台,我需要从" debug"到"发布"为了优化启动和调试要删除的代码,这可能会对速度产生深远的影响。在Xcode中需要做什么才能在快速/释放模式下构建?
(我正在谷歌搜索并看到很多似乎在附近的点击,但我可能会被术语略微抛弃,我可能需要它有点愚蠢:))
感谢您的帮助。
答案 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上的相同)
您还应该更喜欢PNG到Jpeg(因为Jpeg需要更多的计算 - 但通常在尺寸方面较小,因此网络更好......) 最后,使用多线程。 那些(看起来很简陋)是要看的第一步。
答案 2 :(得分:2)
编辑方案以使用发布配置。