:
大多数PHP加速器通过缓存PHP的编译字节码来工作 脚本,以避免解析和编译源代码的开销 每个请求(部分或全部可能永远不会被执行)。至 进一步提高性能,缓存的代码存储在共享中 记忆并从那里直接执行,最大限度地减少慢速 磁盘读取和内存复制在运行时。
及时汇编:
JIT编译器代表了一种混合方法,并且正在进行翻译 与口译员一样,持续缓存 代码,以尽量减少性能下降。
因此在PHP上使用PHP加速器(例如APC)对“即时”编译PHP的性能具有相同的影响(假设它可以这样做)....事实上它们实际上是同一个东西吗?
答案 0 :(得分:5)
因此在PHP上使用PHP加速器(例如APC)对“即时”编译PHP的性能具有相同的影响(假设它可以这样做)....事实上它们实际上是同一个东西吗?
相同的概念,不同的执行。
在大多数圈子中提及JIT时,它指的是将虚拟机字节码编译为 native 字节码。例如,Facebook的HHVM是一个使用JIT engine。
的PHP实现但是,PHP的本机虚拟机不会对本机字节码执行JIT。事实上,它根本不是传统意义上的JIT。虽然整个文件按需编译为 PHP字节码,但实际上并不是JIT。
小心使用术语“PHP加速器”。回到PHP4时代,PHP解析器创建的字节码可以稍微优化一下,以获得更好的性能。自PHP5早期以来就不需要这样做了。 APC,Zend“Optimizer”和其他“加速器”产品提高PHP性能的唯一事物是缓存字节码。不应再使用术语“加速器”来消除歧义。
如果你正在使用标准的PHP,那么你做想要一个字节码缓存,只是避开那些说他们试图进行PHP字节码优化的产品。