【问题标题】:How do I turn on optimization in Xcode?如何在 Xcode 中打开优化?
【发布时间】:2016-04-02 13:22:26
【问题描述】:

我在 Xcode 7.2 中有一些运行良好的 Swift 代码,但是当我从命令行运行 swift -O main.swift 以运行它的优化构建时,我的代码运行得非常快。

如何在 Xcode 中开启代码优化?我已经尝试过 Product -> Build For -> Running,但这并没有以优化的速度运行。我在项目设置中没有看到“启用优化”或“发布版本”的任何内容。

【问题讨论】:

    标签: xcode swift optimization build


    【解决方案1】:

    如果您选择Product -> Scheme -> Edit Scheme,然后定位运行方案,您会看到它有两个构建配置:

    • 调试:使用选项 -O0 构建,不进行优化。
    • 发布:使用选项 -Os 构建以实现最快/最小的优化。

    您可以在项目的 Build Settings 中的 Apple LLVM 7.0 - Code Generation, Optimization Level 下找到这些值。

    一种选择是编辑 Run 方案的构建配置,默认为 Debug,并将其更改为 Release。

    另一种选择是构建用于分析,默认为发布,并将构建一个可以分析的优化版本。

    【讨论】:

    • 啊哈!非常感谢! (一个小细节:它是“产品”菜单,而不是“项目”菜单,reddit 不会让我修复它,因为它少于 6 个字符。)似乎很奇怪必须更改配置设置才能在调试和优化的构建。不过,另一个问题是 - 为什么当我选择 Product -> Build For -> Profiling 然后我运行它(或“Run without Building”)时,即使设置了 Profile 方案,它也不会运行优化的构建构建配置“发布”?
    • @BrianKendig 已修复,谢谢!默认情况下,“Run Without Building”使用 Run scheme 和内置于 Build/Products/Debug-iphoneos 的应用程序,而“Profile without Building”使用 Profile 方案和内置于 Build/Products/Release-iphoneos 的应用程序。运行通常意味着调试(会受到优化的阻碍),而 Profiling 和 Archiving 处理发布(优化)构建。
    • 啊,我认为“Run without Building”的意思是“运行最新的构建,不管你如何构建它。”我不知道它会跟踪单独的运行和配置文件构建。再次感谢您!
    • @BrianKendig 不是单独的 Run 和 Profile 构建,而是单独的 Debug 和 Release 构建。如果 Run 和 Profile 都设置为使用 Release 配置,它们将共享相同的构建。 NP!
    猜你喜欢
    • 1970-01-01
    • 2011-07-23
    • 2012-04-27
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 2019-11-27
    相关资源
    最近更新 更多