PHP提前编译语言?

时间:2016-12-17 01:38:08

标签: php programming-languages

我探索了PHP历史记录和名称Personal Home Page。 在我发现的简短内容中:

  

为Web开发人员处理gccmakeld并不好玩。要创建网页(个人主页),他们发现每次重新编译都很复杂。

这就是为什么我们编写的PHP将被解释(甚至HHVM,我们有中间字节码)。

您是否看到任何技术问题,并且提前编译PHP是否明智?有什么计划吗?

PS。我希望PHP能够提前(预编译),而不是JIT。

更新: 正如我发现项目php-compiler支持"提前"编译器选项。

  

编译 - 提前编译

     

此编译器模式实际上生成本机机器代码,并将其输出到可执行文件。   这意味着,您可以使用PHP代码并生成独立的二进制文件。在没有VM的情况下实现的。这意味着它(理论上至少)与原生C一样快。   嗯,那不是真的。但它的速度非常快。

1 个答案:

答案 0 :(得分:1)

首次调用Python代码时,它(通常)会被解析/解释为字节代码并保存在.pyc文件中然后执行。下次调用代码时,会在.pyc文件中找到提前解释的字节代码并执行该代码。

对于PHP,自PHP 5.5以来,已包含opcode cache。首次调用PHP代码时,它(通常)会一次解析/解释为字节代码并保存在操作码缓存中然后执行。下次调用代码时,将在操作码缓存中找到提前解释的字节代码并执行该代码。

字节代码在性能上与本机代码足够接近。对于Python或PHP来说,提前编译本机的动机并不大。您将放弃快速编辑 - 保存 - 重新加载 - 浏览器开发周期,以获得不必要的性能提升。