维基百科:
大多数PHP加速器通过缓存已编译的PHP脚本字节码来工作,以避免在每个请求上解析和编译源代码的开销(其中的一部分甚至可能永远不会执行)。为了进一步提高性能,缓存的代码存储在共享内存中,并直接从共享内存中执行,从而减少了运行时缓慢磁盘读取和内存复制的数量。
及时汇编:
JIT编译器代表了一种混合的方法,像解释器一样不断地进行翻译,但是通过缓存已翻译的代码来最大限度地减少性能下降。
那么,在PHP上使用诸如APC这样的PHP加速器是否对“即时”编译PHP (假设有可能这样做)的性能有同等的影响呢?....in的事实是它们实际上是相同的吗?
发布于 2011-05-09 23:58:38
那么,在PHP上使用诸如APC这样的PHP加速器是否对“即时”编译PHP (假设有可能这样做)的性能有同等的影响呢?....in的事实是它们实际上是相同的吗?
相同的概念,不同的执行。
在大多数圈子中提到JIT时,它指的是将虚拟机字节码编译成本机字节码。例如,Facebook的HHVM是一个使用JIT发动机的PHP实现。
但是,PHP的本地虚拟机不对本机字节码执行JIT操作。事实上,它在传统意义上根本不做JIT。虽然整个文件是按需编译成PHP字节码的,但实际上并不是JIT。
小心使用"PHP加速器“这个术语。回到PHP4时代,可以对PHP解析器创建的字节码进行一些优化,以获得更好的性能。从早期的PHP5开始就不需要这样做了。APC、Zend "Optimizer“和其他”加速器“产品为提高PHP性能所做的唯一事情就是缓存字节码。“加速器”一词不应再用来消除歧义。
如果您使用的是标准PHP,那么您确实需要字节码缓存,只需避开那些声称要进行PHP字节码优化的产品。
https://stackoverflow.com/questions/5943708
复制相似问题