在Hack/PHP中评测静态与动态类型



我在Hack工作,并试图弄清楚"如果代码是键入的,它会运行得更快吗",因为该语言将根据文件头支持动态和静态键入。

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

Facebook Research最近的一篇论文描述了HHVM JIT的现状,并澄清了(重点是我的(:

§2.1[Hack's]更丰富的类型提示仅由静态类型检查器使用,并由HHVM运行时丢弃丢弃这些富人的原因运行时的类型提示是Hack的渐进类型系统靠不住的静态类型检查器是乐观的,它忽略语言的许多动态特征。因此,即使程序类型检查,可以在运行时。

本文继续解释JIT如何使用类型信息来优化程序,但目前类型信息并不是来自类型提示。这仍然是一本很好的读物,因为你似乎对HHVM的性能进行了投资。我还想指出,基于类型提示的优化已经被要求了一段时间,这表明这种优化不会很快到来。

相关内容

  • 没有找到相关文章

最新更新