PHP如何大幅度提升运行效率? -- 把它编译成机器码!
2016-01-08 22:08
766 查看
书接上回 今天讨论如何大幅度提升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支持静态类型
- HHVM 是如何提升 PHP 性能的?
- 【RedHat】FTP服务
- 【php】exit()与die()函数详解
- Yii2 中如何创建自定义项目并且删除原生的frontend和backend
- 【php】$_GET函数
- PHP写一个函数,算出两个文件的相对路径
- 新年伊始,PHP之旅开启!
- php使用PDO方法详解
- PHP curl 不返回结果
- php json_decode 出错
- php 某一天的 在 加减 天数
- 【php】echo(),print(),print_r()等输出函数详解
- Yii2 captcha 验证码,点击不刷新,解决方案
- ubuntu通过apt-get方式搭建lnmp环境以及php扩展安装
- php简单实现MVC
- yii2 插件创建数据库
- php final
- php 魔术方法 __sleep() __wakeup() __toString() __debuginfo()
- php字符串替换的几个函数