全方位解读php80版本优化与改进p

北京最大扁平疣医院 https://m-mip.39.net/news/mipso_8813087.html

除非你一直生活在一块石头下,或者生活在过去,否则你会意识到JIT正在进入PHP8:投票今天悄然结束,绝大多数人赞成合并到PHP8,所以,这是正式的,本文全方位解读php8.0版本优化与改进。

PHP8官宣《PHP8首个版本Alpha1发布!》

现在,坐下来阅读下面这篇颠覆神话的文章,我们将澄清一些关于JIT是什么、它将带来什么好处的困惑,并深入研究它是如何工作的(但只是一点点,因为我不想让你感到无聊)。

因为我不知道我在和谁说话,所以我会从简单的问题开始,一直到复杂的问题,如果你已经确定你知道标题中问题的答案,你可以跳过那部分。。。

什么是JIT?

PHP实现了一个虚拟机,一种虚拟处理器,我们称之为ZendVM。PHP将人类可读的脚本编译成虚拟机能够理解的指令(我们称之为操作码),这个执行阶段就是我们所说的“编译时”。在执行的“运行时”阶段,虚拟机(ZendVM)执行代码的指令(操作码)。

这一切工作得很好,像APC(过去)和OPCache(现在)这样的工具可以缓存代码的指令(操作码),以便“编译时”只在必须的时候发生。

首先,有一行代码解释了什么是JIT:

Just-in-time是一种编译器策略,它接受代码的中间表示形式,并在运行时将其转换为依赖于体系结构的机器代码,以便及时执行。

在PHP中,这意味着JIT将为ZendVM生成的指令作为中间表示,并发出依赖于体系结构的机器代码,因此代码的宿主不再是ZendVM,而是CPU。

为什么PHP需要JIT?

在PHP7.0之前,PHP内部社区


转载请注明:http://www.aierlanlan.com/rzfs/2095.html