【问题标题】:HipHop PHP (was Hyper PHP by Facebook)HipHop PHP(是 Facebook 的 Hyper PHP)
【发布时间】:2010-01-13 10:14:55
【问题描述】:

跟随这个相当滑稽的interview 与 Facebook“员工”...

谁知道那些 smart as balls Facebook 人开发的 Hyper PHP(现在更名为 HipHop)的详细信息?

【问题讨论】:

  • 为什么?既然他们是从头开始重写,他们就不能选择一个已经建立的选项吗?还是他们认为所有现有的语言都不是那么好。
  • 我觉得它被称为“HyperPHP”很有趣,因为 PHP 中的 H 代表 Hyper。超超文本预处理器。
  • @Christy,如果他们寻找另一种语言,那就意味着重写 Facebook。
  • @christy 他们不是“从头开始重写”。他们声称完全重写要比开发 HPHP 困难得多。

标签: php facebook hiphop


【解决方案1】:

这只猫现在已经从麻袋里出来了:

http://developers.facebook.com/news.php?blog=1&story=358

HipHop for PHP 本身在技术上并不是一个编译器。相反,它是一个源代码转换器。 HipHop 以编程方式将您的 PHP 源代码转换为高度优化的 C++,然后使用 g++ 对其进行编译。 HipHop 以语义等效的方式执行源代码,并牺牲了一些很少使用的功能——例如 eval()——以换取更高的性能。 HipHop 包括一个代码转换器、对 PHP 运行时系统的重新实现,以及对许多常见 PHP 扩展的重写以利用这些性能优化。

Another article on ReadWrite Web 确认 Facebook 变得更快,首次推出本土 PHP 编译器another one by Marco Tabini 描述了您需要了解的内容。

【讨论】:

  • 这句话让我很恼火。编译器是源代码转换器。
  • 所以如果我用XSLT来转换XML,我就做了一个编译器吧?
  • @Viet:从技术上讲,是的。 XSLT 处理器将 XML 文件编译为另一种输出格式。
  • @Gordon 感谢您对这篇文章的回复。能否请您解释一下 HipHop 虚拟机的优点-stackoverflow.com/questions/8697348/… 谢谢
【解决方案2】:

也许是一个神话,也许仍在开发中。但它将发布here

【讨论】:

  • 我不明白为什么我觉得这篇文章是假的。 “万亿张照片”。
【解决方案3】:

如果该版本被称为 HyperPHP,我会感到惊讶,因为这也是已建立的 web host 的名称

【讨论】:

    【解决方案4】:

    现在有传言称 Facebook 将于 2 月 2 日星期二发布某种 PHP runtime release。那可能是 Hyper PHP。

    【讨论】:

      【解决方案5】:

      看起来有人试图向没有任何编程知识的人解释缓存/操作码。

      "...你明白吗?这样做就像在 PHP 前面放一个 H,H 就像 Hyper 中一样。所以我们得到 Hyper-PHP 或 HPHP。而且它超级快..."

      【讨论】:

        【解决方案6】:

        不... 这不是神话

        这个概念很棒.. 你可以让你的 PHP 网站编译成 HPHP ! 然后它会像 java 一样工作!:P

        【讨论】:

        • 它与 Java 完全不同——没有字节码,没有 jit,没有虚拟机。它只是将 php 代码转换为优化的 c++,然后将其编译为本地机器代码。
        【解决方案7】:

        从你的链接...

        Facebook 员工比大多数人更了解隐私的价值。

        哦,真的吗?他们有吗?因为我所读到的关于 Facebook 的所有内容都是他们不知道隐私是什么或曾经是什么。

        这篇文章显然不可信。

        【讨论】:

        • 现在没有什么值得信任或不值得信任的了。查看我的答案中的链接。现在是官方的。他们今晚将为 PHP 开源 HipHop。
        【解决方案8】:

        如果性能是一个问题,您肯定会考虑例如取而代之的是栎树? (http://www.caucho.com/resin-3.0/quercus/)(我没看过 Quercus,所以不能多说)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-10-16
          • 2012-01-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多