我知道当将类的方法移动到扩展时不应该存在运行时性能差异(如Swift extension和are extensions bad for performance in swift?中所回答)。
但是,通过将必需的private
属性更改为fileprivate
来访问方法(移动到与类相同的文件中的扩展名),我找不到有关运行时性能是否有任何差异的文档。
是否有人知道绩效差异?(我不关心编译时间差异,我认为在本例中不存在这种差异,只关心运行时。)
最佳答案
为什么会有这样的区别?这些隐私条款大多只是编译器的注释,以禁止某些类型的访问。
运行时的重要收获来自于使用整个模块优化和/或声明类。这允许关闭动态调度。