增加动态调度的使用会减少编译时间吗?

时间:2017-06-05 04:46:22

标签: swift dynamic-dispatch static-dispatch

在swift中,编译时间非常慢,项目中的代码量会增加。所以我一直在寻找减少时间的方法。一种方法可能是使用finalstatic等语言关键字来改变编译器在这种情况下使用静态和动态调度处理代码的方式。

但到目前为止,我认为最好避免运行时开销减少动态调度

所以我的第一个疑问是,如果在运行时使用更多动态调度来完成所有操作,则会以运行时开销为代价减少编译时间。

我的第二个疑问是运行时开销是如此糟糕?你可以牺牲编译时间来减少开销吗?

1 个答案:

答案 0 :(得分:0)

标题问题:

编译时间是以下函数:

  • 扫描
  • 解析
  • 符号管理
  • 语义验证
  • 类型检查(如@Ron Napier指出)
  • 代码路径优化
  • 发送机器代码或LLVM-IR

上述每个步骤都将取决于使用哪些技术来完成步骤的每个结果以及源文件的大小/复杂性。这是步骤顺序和步骤的灵活性。

使用动态调度是一个运行时函数,值得另一个问题。