【问题标题】:Profiling static vs dynamic typing in Hack/PHP在 Hack/PHP 中分析静态与动态类型
【发布时间】:2018-12-29 19:41:44
【问题描述】:

我在 Hack 中工作,并试图弄清楚“如果输入代码会运行得更快”,因为该语言将支持动态和静态类型,具体取决于文件上的标题。

您会进行哪些测试来查看两者之间的效率差异?

【问题讨论】:

    标签: profiling dynamic-languages hacklang static-language


    【解决方案1】:

    Facebook Research 的A recent paper 描述了 HHVM JIT 的当前状态(强调我的):

    §2.1 [Hack's] 更丰富的类型提示 仅由静态类型检查器使用,并被 HHVM 运行时丢弃。 丢弃这些更丰富的内容的原因 运行时的类型提示是 Hack 的渐进类型系统是 不健全。静态类型检查器是乐观的,它会忽略 语言的许多动态特性。因此,即使 一个程序类型检查,不同的类型可以观察到 运行。

    本文继续解释 JIT 如何使用类型信息来优化程序,但目前类型信息并非来自类型提示。仍然是一本很好的读物,因为您似乎对 HHVM 的性能进行了投资。我还想指出,基于类型提示的优化has been requested for some time,这表明这种优化不会很快到来。

    【讨论】:

      猜你喜欢
      • 2014-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      相关资源
      最近更新 更多