【发布时间】:2018-02-21 06:06:43
【问题描述】:
我看到了与该主题相关的其他问题,但其中任何一个都解释了编译器如何处理这些函数以及它们是如何分派的,如果它们的行为类似于 inline 函数还是什么?
基本上我想知道使用全局函数和类/静态函数之间的性能差异。
注意:我不是在问这是否是一个好习惯,只是哪个选项具有更好的性能。
【问题讨论】:
-
我没有这方面的来源,但它们是静态分派的。 Vtable/动态调度没有意义,因为全局函数没有多个需要由运行时选择的实现。内联通常会完成,但不能保证。
-
@Alexander 你说得对,动态调度没有意义。所以我们可以假设它们将被静态调度。所以基本上性能将与类/静态函数相同,只是名称间距不同。
-
作为静态函数,是的。但与类方法不同,类方法需要在非最终类中动态调度。
-
对不起,我的意思是
static
标签: swift compiler-construction global dispatch