如果将hack代码编译成c ++,那么在bash处理算法中,与c ++相同的黑客程序的时间效率是多少?例如:带有float add和mult的大循环)
答案 0 :(得分:1)
这是一个基本的误解。最初的HipHopForPHP compiled PHP code to 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 ++那么快,C ++有很多零成本优化,并且在编译后直接在CPU上运行。