Swift中更高性能的技术

在本主题中,我想讨论四种非常简单但也非常有效的方法,这些方法迅速提供,并且从未在目标c中使用。

这是我们要讨论的四种技术

  • 使用参考计数进行优化
  • 使用通用规范
  • 通过添加API约束来提供更好的动态调度
  • 使用协议实现多态行为

在深入探讨之前,我想讨论一个称为整体模块优化的功能

默认情况下,构建设置中的优化级别参数设置为文件优化。 这个 手段 编译器将在每个文件中分别进行优化,而无需在优化时访问模块中的其他文件。

使用整个模块优化标志时,编译器在优化代码时会知道模块中的所有文件。

如果您使用的是Xcode 9或更高版本,请转到构建目标,选择Build Settings-> Optimization level并将其设置为None

之后,如图所示在+按钮上打勾

选择添加用户定义的设置 ,然后添加新参数SWIFT_WHOLE_MODULE_OPTIMIZATION并将其值设置为YES

不,我们没有完成,我们的目标将在编译构建时使用整个模块的优化。稍后我们将了解wmo如何帮助更好地优化编译。