我正在使用Hack,并且试图找出“如果键入代码,代码运行速度会更快”,因为该语言将支持动态和静态类型,具体取决于文件的标头。
您将运行哪些测试来查看两者之间的效率差异?
答案 0 :(得分:3)
A recent paper描述了HHVM JIT的当前状态(强调了我的意思):
§2.1 [Hack的]更丰富的类型提示 只能由静态类型检查器使用,而由HHVM运行时丢弃。 类型提示在运行时是Hack的渐变类型系统是 不健全。静态类型检查器是乐观的,它会忽略 语言的许多动态功能。因此,即使 程序类型检查,可以观察到不同的类型 运行。
本文继续说明JIT如何使用类型信息来优化程序,但目前,类型信息并非来自类型提示。仍然是一本好书,因为您似乎对HHVM的性能投入很大。我还想指出,基于类型提示has been requested for some time进行优化,这表明这种优化不会很快出现。