PHP 的 Facebook HipHop 虚拟机?

2023-11-29

我看过这篇文章——HipHop PHP(Facebook 的 Hyper PHP)

不过最近遇到这个Facebook 通过“HipHop 虚拟机”加快开发速度,PHP 执行器速度提高 60%

有人有这方面的详细信息吗?它值得 PHP 开发人员探索吗?


您可以在您链接的文章中链接的文章中找到详细信息:

  • https://www.facebook.com/notes/facebook-engineering/the-hiphop-virtual-machine/10150415177928920

hphpc本质上是一个传统的静态编译器,它转换PHP→AST→C++→x64。我们很早就敏锐地意识到PHP这样的动态语言对静态分析的限制,更不用说使用hphpi开发软件和使用hphpc部署所固有的风险。我们在 hphpc 方面的经验促使我们开始尝试动态翻译为本机机器代码,也称为即时 (JIT) 编译。动态翻译器可以在程序执行时观察数据类型,并生成类型专用的机器代码。

类型专用的机器代码运行速度更快。除非你是FB那么大,否则不需要这个。使用 APC 或 memcached 以及更传统的方法进行扩展。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 的 Facebook HipHop 虚拟机? 的相关文章

随机推荐

  • XCeed PropertyGrid 自定义 IntegerUpDown

    我试图将不同的增量值分配给对象的不同字段 例如 考虑一个班级有谁int1 and int2 当我设置ShowAdvancedOptions为我的真实PropertyGrid 整数向上向下按钮放入文本框中没有问题 但我希望能够编辑数字单独增加
  • 如何在gganimate中使两帧之间的过渡时间更长

    我正在使用 gganimate 创建散点图的多个帧的动画 每个帧对应于一年 我想强调两个特定的连续帧之间的变化 以便这两个帧在其他帧中脱颖而出 但我不知道该怎么做 这是我的数据和代码的示例 structure list x 1 6 y 2
  • 如何终止 BufferedInputStream .read() 调用

    我正在编写一个程序来从服务器下载非常大的文件 2GB 我编写的程序能够恢复部分完成的下载 为了模拟糟糕的互联网连接 我在下载过程中将以太网线从路由器中拔出 不幸的是 这导致我的程序挂起以下调用 while bytesRead in read
  • 使用正则表达式验证 IP

    我需要验证格式为 000000000 到 255255255 的 IP 范围 3 组数字之间没有任何分隔符 最终 IP 所包含的三组中的每一组都应为 000 是的 用 0 填充 到 255 由于这是我的第一个 stackoverflow 条
  • 如何从远程主机的以太网地址获取其IP地址?

    我正在寻找一些 Linux 代码来从以太网地址查找 IP 地址 我想我必须做一些反向 A RP 欺骗 但我没有找到任何例子 http compnetworking about com od networkprotocolsip f conv
  • Android 谷歌地图在 Zoom 上调整标记大小

    我需要在一个较小的区域中显示大约 30 个标记 当用户更改缩放比例时 是否可以调整 Google Maps API V2 标记的大小 或者我应该使用较小的图像 提前致谢 如果你想在缩放时做一些事情 你可以创建一个扩展原始MapView的自定
  • 副SIM卡的MNC和MCC

    我知道使用TelephonyManager我们可以获得我们网络提供商的MNC和MCC TelephonyManager tel TelephonyManager getSystemService Context TELEPHONY SERV
  • 如何在Python中只打印一个新行? “\n”没有给我想要的效果

    我很清楚print n 但这在我的cmd中给出了这个结果 第一个输出 带有 原始 列表 继续到下一行 但使用 n似乎跳过了一行 我怎样才能确保print pretty函数转到下一行 而不是跳过一行 到目前为止 这是我的代码 board fo
  • 如何在 symfony yml 配置文件中从 docker 获取环境变量

    在 docker compose yml 中 mysql image mysql latest container name mysql environment MYSQL ROOT PASSWORD root MYSQL DATABASE
  • 计算两个给定日期之间的天数

    任何人都可以纠正我的脚本中的错误来计算两个日期之间的天数 日期已通过表格输入 变量信息如下 departon gt Array 0 gt 1 1 gt June 2 gt 2011 returnon gt Array 0 gt 31 1 g
  • CancellationTokenSource 的行为不符合预期

    在这种情况下 预期的是 如果用户通过按回车键取消任务 则另一个任务会被挂钩ContinueWith会运行 但事实并非如此 根据AggregateException尽管在中进行了显式处理 但仍会抛出ContinueWith这显然没有被执行 请
  • gvisTables 未在闪亮的应用程序中呈现

    我试图解决的实际问题 我正在创建一个包含数据表的仪表板 我希望用逗号将数字格式化为千位分隔符 但是当 DT 包与 Shiny 一起使用时 它 显然 存在问题 因为逗号分隔的格式会导致 DT renderDataTable 将数字读取为字符
  • 如何在 QLineEdit 中放置静态文本(后缀、前缀)?

    如何将静态文本放入QLine编辑在 Qt C 中 这样它就不能被删除 并且当我写入 QLineEdit 时 它不应该被分隔 没有常规的方法来放置前缀或后缀QLabel 占位符 只要你能做到QLineEdit是设置一个文本 当里面没有文本时将
  • moveRowAtIndexPath - 在部分之间移动单元格

    在我的 UITableView 中我有这样的关系 Department lt Employees 名称数组 我已经为每个模型设置了自定义对象 In my moveRowAtIndexPath 我可以移动到特定的部分 但是 如果我尝试在部分之
  • 如何设置量角器以使用 requirejs 导入 AMD 模块

    我正在尝试在量角器测试中导入 AMD 模块 ES6 模块在 ES5 中转译 我正在使用页面对象图案 页面对象是我要导入的模块 这是 ES6 代码 import HelloPage from HelloPage describe The de
  • 用引号括起来

    在 Eclipse JDT 中如何将多行选择转换为字符串 就像下面这样 From xxxx yyyy zzz To xxxx yyyy zzz 我尝试了以下模板 line selection cursor 但这样我只能将整个块包围起来 而不
  • Apps 脚本对话框中的 CSS

    我不是 Web 开发人员 过去只使用过一次 CSS 使用CSS的流程是怎样的 这可能吗 var pointsSheet SpreadsheetApp openById 1o8 f063j1jYZjFEnI P7uAztpnEAvQ6mc3Z
  • 在 Golang 中深度复制地图

    据我了解 地图是 Go 中的引用类型 所以赋值会做浅拷贝 我计划在 golang 中对 Maps 进行递归深度复制 递归是因为我正在处理一个包含 JSON 未编组内容的映射 func deepCopyJSON src map string
  • 不正确的函数声明语法错误:意外的cornerFinder,期望(

    当我尝试运行此代码时收到此错误 语法错误 意外的cornerFinder 期望 case v2 func cornerFinder censusData CensusGroup if len censusData lt 10000 for
  • PHP 的 Facebook HipHop 虚拟机?

    我看过这篇文章 HipHop PHP Facebook 的 Hyper PHP 不过最近遇到这个Facebook 通过 HipHop 虚拟机 加快开发速度 PHP 执行器速度提高 60 有人有这方面的详细信息吗 它值得 PHP 开发人员探索