Zend Opcache是什么?浅析它与eAccelerator的区别


一、Zend Opcache是什么
Zend OPcache是个新东西,之前的博客文章WordPress 3.8终极加速方案,无需插件中提到使用Zend OPcache预编译wordpress程序的php代码,把wordpress博客页面执行速度提高到0.0x秒级别,这个是完全可以实现的。为什么Zend OPcache这么强悍呢?
官方简介翻译为:Zend OPcache通过代码缓存和优化提供了更快的PHP执行。
根据官方的介绍翻译为:通过在shared memory中存储已经编译好的代码来提升执行速度(PS:可以通过配置来决定它的存储时间),省去了从磁盘读取再编译的时间(PS:这其实是时间开销最大的部分),此外,还通过一些代码优化模式来提升执行速度(PS:官方并没在介绍里给出关于这个“优化模式”的原理,看来需要去读文档了)。
原文中的shared memory按字面翻译是共享内存,但是我觉得应该是进程共享的内存,而非传统意义上的共享内存,是否理解正确,希望有大神来解答~~~端个板凳儿等大伙留言!!!

另外Zend Opcache已经集成在了PHP 5.5里面,编译安装PHP5.5的时候加上–enable-opcache就行了,所以要想体验的同学赶紧去折腾吧!

二、Zend Opcache和eAccelerator区别在哪里?
对于小站长使用来说他们没什么区别,两个基本能归类为一类东西,就是php代码缓存
先看看eA的工作原理:
eAccelerator将已经编译好的代码缓存在shared memory中,多个进程可以通过访问shared memory得到编译后的代码的缓存并直接执行,另外在编译前还可以先优化,但介绍中有一句“Files that can’t fit in shared memory are cached on disk only.”意思是文件只能缓存在磁盘上,而不能放到shared memory中缓存。这里的文件我理解为未编译的php代码,但是ZO是可以将文件直接放入shared memory进行编译的,这可能就是他们的区别之一吧,至于我的理解对不对,坐等大神来解答!求留言解疑~~~

原文链接:https://xiaohost.com/360.html,转载请注明出处。
0