PHP加速器与即时编译

use*_*027 5 php compiler-construction accelerator

来自维基百科:

大多数PHP加速器通过缓存PHP脚本的编译字节码来工作,以避免在每个请求上解析和编译源代码的开销(其中一些或全部甚至可能永远不会被执行).为了进一步提高性能,缓存的代码存储在共享内存中并直接从那里执行,从而最大限度地减少了运行时缓慢的磁盘读取和内存复制的数量.

及时编译:

JIT编译器代表了一种混合方法,与解释器一样,翻译不断发生,但是通过缓存已翻译的代码来最小化性能下降.

所以在PHP上使用PHP加速器如APC对"即时"编译PHP的性能有相同的影响(假设它可以这样做)....实际上它们实际上是同一个东西吗?

Cha*_*les 5

所以在PHP上使用PHP加速器如APC对"即时"编译PHP的性能有相同的影响(假设它可以这样做)....实际上它们实际上是同一个东西吗?

相同的概念,不同的执行.

在大多数圈子中提到JIT时,它指的是将虚拟机字节码编译为本机字节码.例如,Facebook的HHVM是一个使用JIT引擎的PHP实现.

但是,PHP的本机虚拟机不会对本机字节码执行JIT.事实上,它根本不是传统意义上的JIT.虽然整个文件按需编译为PHP字节码,但实际上并不是JIT.

注意术语"PHP加速器".回到PHP4时代,PHP解析器创建的字节码可以稍微优化一下,以获得更好的性能.自PHP5早期以来就不需要这样做了.在是APC,在Zend"优化"等"加速器"的产品做提高PHP性能的是缓存的字节码.不应再使用术语"加速器"来消除歧义.

如果您使用的是标准PHP,那么您确实需要一个字节码缓存,只需避开那些说他们尝试进行PHP字节码优化的产品.