编译Swift应用程序时,stackoverflow上的多个线程(例如this one)讨论了不同的优化级别(Onone,O,Ounchecked …).
但是,这些发布与OSX上的开发有关.这些优化似乎可以直接通过Xcode或xcrun(xcrun swift -O3)进行设置.
我想知道当直接在Linux(Ubuntu 15.10)上使用Swift编译器时如何切换不同的优化级别.目前,我只是通过调用快速构建来构建应用程序,如文档所示,但是我发现没有办法不改变优化级别.
解决方法:
可以向Swift编译器swiftc提供-O,-Onone和-Ounchecked优化标志.但是,目前似乎无法指定其他标志来快速构建.例如,即使它没有直接关系,也请参见以下链接:
https://bugs.swift.org/browse/SR-397.同一错误报告表明,该团队正在积极努力添加此缺失的功能.
解决该问题的一种方法是运行swift build -v,找到引用-Onone的第一个命令,将其及其后的所有命令复制到shell脚本中,编辑该脚本以使用所需的优化级别而不是-Onone,然后运行脚本.这应该使用所需的优化级别重新编译Swift源代码并重建可执行文件.
在我的测试中,我发现一个简单的示例(如果使用-O或-Ounchecked而不是-Onone进行构建,则涉及对数组进行排序的速度要快几个数量级).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。