PHP如何大幅度提升运行效率? -- 把它编译成机器码!

书接上回   今天讨论如何大幅度提升PHP的运行效率。

在这,我们不纠结神马单双引号、全局变量、OO、require_once、错误抑制....

在这,我们也不讨论APC、opcache、XCache、eaccelerator....

我们知道,php的执行需要把脚本翻成Opcodes,经过一定的优化(需要工具支持)后再交给zend引擎去执行。

那么为什么不把PHP编译成机器码直接去运行呢?这是绝妙的主意!

其实,已经有很多人在考虑这个事情了,并且还有一些人付诸实践:


QB


http://www.php-qb.net/

"虽然PHP是构建Web应用的一门优秀语言,但是它仍有一定的局限性。

用php编写低执行级别的代码、执行密集型任务一般是不切实际的,因为它太慢了。

而QB扩展克服了PHP的这个弱点。它通过翻译Zend的操作码并在静态类型的虚拟机中执行,大幅度地提升了PHP的性能。

这种牛逼的技能可以让PHP程序员更多地做爱做的事情,比如说复杂的像素级的图像处理。


QB还给了一个性能测试图表:

"The following graph shows the time required to calculate the CRC-32 checksum of 10meg of data:"

PHP如何大幅度提升运行效率? -- 把它编译成机器码!

立竿见影,性能提升100倍,看上去确实很暴力!

除了QB,还有其他的,比如非死不可的https://github.com/facebook/hiphop-php

这个太有名,不说了...

 

你可能感兴趣的:(PHP)