1

如果将hack代码编译成c++,那么在bash处理算法中,hack程序的时间效率是否与c++相同?例如:带有 float add 和 mult 的大循环)

4

1 回答 1

1

这是一个基本的误解。最初的 HipHopForPHP 将PHP 代码编译为 C++,但新的 HHVM 以及扩展的 Hacklang 不编译为 C++。

在新的 HHVM 中,代码被编译为 HHVM 特定的汇编语言(字节码),然后由 HHVM 自己解释。有关更多详细信息,请参阅此博文:http: //hhvm.com/blog/6323/the-journey-of-a-thousand-bytecodes

曾尝试使用 LLVM 进行代码生成,但被认为风险太大:http: //hhvm.com/blog/10205/llvm-code-generation-in-hhvm

这意味着您的代码永远不会直接占用 CPU,它将始终在虚拟机中运行,就像 Java 一样。虽然 Hack 速度很快,但远不及 C++,后者有很多零成本优化,编译后直接在 CPU 上运行。

于 2016-12-23T09:28:19.223 回答