PHP如何大幅度提升运行效率? -- 把它编译成机器码!
2013-06-10 19:41
465 查看
书接上回 今天讨论如何大幅度提升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:"
立竿见影,性能提升100倍,看上去确实很暴力!
除了QB,还有其他的,比如非死不可的https://github.com/facebook/hiphop-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:"
立竿见影,性能提升100倍,看上去确实很暴力!
除了QB,还有其他的,比如非死不可的https://github.com/facebook/hiphop-php
这个太有名,不说了...
相关文章推荐
- PHP如何大幅度提升运行效率? -- 把它编译成机器码!
- PHP如何大幅度提升运行效率? -- 把它编译成机器码!
- 如何提升php代码的运行效率
- 提升php运行效率
- 如何使用Notepad++编译运行php
- 提升R语言运行效率-转换为字节码编译
- 如何提高PHP运行效率
- 提升PHP运行效率的10点建议
- 如何提升php运行速度
- 效率为王 分享几个提升php运行效率的代码规范写法详解
- php如何采用memcache技术 加速web应用运行效率
- 如何提高PHP程序运行效率 (转载)
- 如何查看运行中的apache,php,mysql的编译参数
- php如何提高代码的运行效率
- 深入探讨如何提高PHP运行效率
- 提升运行效率 php不得不知道的优化建议
- 初识ListView - 定制ListView - 提升ListView运行效率
- 如何提升JavaScript的运行速度之DOM篇(四)
- 在写PHP脚本的时候,如何判断是否是从CLI环境运行
- editplus如何直接编译运行命令提示符