基于 GraalVM 的 PHP JIT 实现性能优于原生方案

果子爸聊技术 2020-09-30 10:01:55 ⋅ 78 阅读

GraalVM 是 Oracle 打造的高性能跨语言虚拟机,支持运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言(如 Java、Scala 和 Kotlin),以及基于 LLVM 的语言,如 C 和 C++。

近期一名开发者基于 GraalVM 实现了针对 PHP 7.4+ 的实验性 JIT 编译器和 runtime,并将此项目命名为 GraalPHP。 032613_KYV2_2720166.png GraalPHP 实现了 PHP 语言的一个子集,通过运行“The Computer Language Benchmarks Game”综合基准测试,与 PHP 7 和 PHP 8 alpha 早期版本,以及其他 PHP 替代实现如 HHVM 和 JPHP 进行比较,得到了如下的峰值性能结果: 032656_IPBJ_2720166-2.png 可以看到,在多个测试选项中,GraalPHP 的性能优于原生 PHP,包括实现了官方 JIT 编译器的 PHP 8。

GraalPHP 是作者 Andrin Bertschi 的本科论文项目,所以它在作者的论文工作结束后是否会继续被关注目前不得而知。不过无论如何,能看到在 GraalVM 之上的 PHP JIT 实现还是很有趣的。

有关 GraalPHP 的更多细节查看 https://github.com/abertschi/graalphp。


全部评论: 0

    我有话说:

    移动H5前端五大性能优化方案实战篇)

    移动H5前端五大性能优化方案实战篇)

    Java Web实战篇:增强for循环实现原理及for循环实战性能优化

    Iterator是工作在一个独立线程中,并且拥有一个 mutex 锁。 Iterator被创建之后会建立一个指向原来对象单链索引表......

    iOS TableView性能优化

    TableView性能优化非常考验开发基本功,之前做项目实战时候经常被这个问题困扰

    【开源资讯】PHP 8 RC 2 发布,第9个测试版本

    PHP 8 RC 2 已经发布,这也是 v8 第 9 个测试版本。自从进入 Beta 阶段,PHP 8 已进入特性冻结期,不会有特性上变更。 PHP 8 具体发布周期已经更改如下

    前端性能分析工具-Keepfast

    能够分析网站资源构建性能和页面性能,生成性能报告并提供优化建议,让性能监控更方便

    Fluid 0.3 正式发布:实现原生场景通用化数据加速

    简介 为了解决大数据、AI 等数据密集型应用在云原生计算存储分离场景下,存在数据访问延时高、联合分析难、多维管理杂等痛点问题,南京大学 PASALab、阿里巴巴、Alluxio 在 2020 年

    GraalVM 20.2发布,一款高性能跨语言虚拟机

    GraalVM 消除了编程语言之间隔离,并支持共享运行时互操作性。

    iOS性能优化实践:头条抖音如何实现OOM崩溃率下降50%+

    iOS OOM 崩溃在生产环境中归因一直是困扰业界已久疑难问题,字节跳动旗下头条、抖音等产品也面临同样问题。在字节跳动性能与稳定性保障团队研发实践中,我们自研了一款基于内存快照技术并且可

    RedisPlus 3.0.0 重构归来免费开源,优化性能和交互体验

    RedisPlus是为Redis可视化管理开发一款开源免费桌面客户端软件,支持Windows 、Linux、Mac三大系统平台,RedisPlus提供更加高效、方便、快捷使用体验,有着更加

    Netty单机百万连接及高性能优化

    关于netty学习和介绍,可以去github看官方文档,这里良心推荐《netty实战》和《netty权威指南》两本书,前者对于新手更友好,原理和应用都有讲到,多读读会发现很多高性能优化点。

    「轻阅读」基于 Flink SQL CDC实时数据同步方案,附视频

    整理:陈政羽(Flink 社区志愿者)原文:https://mp.weixin.qq.com/s/QNJlacBUlkMT7ksKKSNa5Q Flink 1.11 引入了 Flink SQL

    「转载」分布式事务方案 - SAGA模式

    性能与架构:杜亦舒原文:https://mp.weixin.qq.com/s/An6QbAOw6jhWxg7GDT56Ug 本文目的是讲清楚 SAGA 这种分布式事务解决方案实现思路,不包括具体

    性能与架构」MySQL 8 查询优化新工具 Explain Analyze

    Explain 是我们常用查询分析工具,可以对查询语句执行方式进行评估,给出很多有用线索。

    「轻阅读」移动端事件穿透原理与解决方案

    本文将带你了解事件穿透及如何在实际项目中选择合适方案解决事件穿透问题。

    Fes.js v0.4.1 版本发布,一套优秀中后台系统前端解决方案

    Fes.js 是一套优秀中后台前端解决方案。提供初始项目、开发调试、Mock接口、编译打包命令行工具。内置布局、权限、数据字典、状态管理、存储、Api等多个模块。以约定、配置化、组件化设计思想

    AppCode 2020.1 稳定版发布,性能大大提高

    AppCode 是一个全新 Objective-C、Swift 集成开发环境,用于帮助开发 Mac、iPhone 和 iPad 应用程序。