PHP 7.1 是否达到了最佳性能?

鸟哥惠新宸答:不能说最,别看 PHP 7.1 现在这么快,但相比其它语言,在某些场景下,还是有差距的。这跟它天然的像动态、符号表、间接引用等特性有很大关系。PHP 7.1 相比 7.0 来说,做的最大的工作,就是一个类型推断系统加一个类型相关的中间代码执行引擎。这个不是新的工作,在2013年我们做 PHP 5.5 的 JIT 的时候类型推断系统已经做出来了,但当时把这个项目停掉了,现在把那项工作其中的类型推断部分拿过来,放到 7.1 。基于这个类型推断未来还可以做更多的东西。PHP 7.1 更多的是对 7.0 未完成的工作的一个补充。 详情请移步:【开源访谈】鸟哥惠新宸:PHP 7.1 的新特性我并不是很喜欢

本人找了一个 PHP JIT 相关开源项目JPHP了解一下


JPHP是使用Java VM的PHP的新实现。它支持PHP语言(7.0+)的许多功能。

它是如何工作的?JPHP是一个编译器javac,它将PHP源代码编译成JVM字节码,然后可以在Java VM上执行结果。

  • 官方网站:j-php.net

在生产中

我们为初学者开发一个新的IDE,比如Game MakerScirra Construct。它基于JPHP,JavaFX,Java 8,Gradle,并允许为Linux,Windows和Mac(将来可能是Android和其他平台)创建桌面游戏和应用程序。项目名称是DevelNext(github.com/jphp-compil…),项目的当前状态和版本是BETA。该项目尚未被英文本地化。

目标

JPHP不是Zend PHP引擎或Facebook HHVM的替代品。我们不打算为JPHP实现zend运行时库(例如Curl,PRCE等)。

我们的项目于2013年10月开始。原因如下:

  1. 能够在PHP中使用Java库
  2. 通过JIT和JVM升级性能
  3. 用更好的运行时库替换Zend PHP的丑陋的运行时库。
  4. 不仅在网络上使用PHP语言
  5. 另外:字符串和线程的Unicode

特征

  • PHP 5.6+(以及PHP 7.0和7.1中的许多语言功能)。
  • JIT(约2.5倍PHP 5.6,PHP 7约1.1倍),Optimizer - 性能基准
  • 在PHP代码中使用java库和类。
  • Unicode字符串(UTF-16,就像Java一样)
  • 线程,套接字,环境架构(比如runkit zend扩展中的沙盒对象)。
  • GUI(摇摆或JavaFX)
  • 嵌入式缓存系统的类和功能
  • 可选的热重新加载类和功能
  • 能够在Android操作系统上使用 (还没)

JPHP从PHP 7.0,7.1支持什么?

  • 上下文敏感Lexer。
  • 修复list()行为不一致。
  • Throwable接口。
  • 组使用声明。
  • 标量和可选类型提示。
  • 返回类型提示。
  • 无效和可重写类型提示。
  • 统一变量语法(部分)。
  • 空合并运算符??
  • 多个catch语法。
  • 短列表语法。
  • 列表键。
  • 类常量可见性修饰符。
  • 太空船操作员<=>
  • 发电机代表团yield from
  • 发生器返回表达式。
  • intdiv() 功能。

文档

  • Wiki在这里:阅读
  • 你可以在这里找到最新的api文档:http : //jphp-docs.readthedocs.org/
  • 为了对api文档作出贡献,你可以分叉docs项目:https://github.com/jphp-compiler/docs

入门(Hello World)

j-php.net/wiki/Gettin…

热跑基准?

// via jphp
./gradlew bench// via php
php -f bench/src/bench.php复制代码

从源代码构建SNAPSHOT

使用gradle install来构建和安装jphp模块和库到本地mavel库。在此之后,您可以在您的项目中使用jphp作为maven依赖项。

org.develnext.jphp:jphp-<module>:<version>-SNAPSHOT


原文:github.com/jphp-compil…

转载于:https://juejin.im/post/5aa770585188255582520778

PHP7 JIT 相关开源项目(JPHP)相关推荐

  1. 【radar】毫米波雷达相关开源项目代码汇总(工具箱、仿真、2D毫米波检测、融合、4D毫米波检测、分割、SLAM、跟踪)(6)

    [radar]毫米波雷达相关开源项目代码汇总(工具箱.仿真.2D毫米波检测.融合.4D毫米波检测.分割.SLAM.跟踪)(6) Toolbox pymmw https://github.com/m6c ...

  2. 开源作者在行动:疫情防控相关开源项目推荐

    开源作者在行动:疫情防控相关开源项目推荐: https://blog.gitee.com/2020/02/03/ncov-open-source-project/

  3. asp.net mvc相关开源项目推荐

    原文地址为: asp.net mvc相关开源项目推荐 asp.net mvc ctp版本发布不到一个月时间,在社区出现了丛多的优秀开源项目,社区的活跃性非常高哦,前一段时间园子里也引发了MVC和Web ...

  4. 关键词提取自动摘要相关开源项目,自动化seo

    关键词提取自动摘要相关开源项目 GitHub - hankcs/HanLP: 自然语言处理 中文分词 词性标注 命名实体识别 依存句法分析 关键词提取 自动摘要 短语提取 拼音 简繁转换 https: ...

  5. 不明觉厉!Gitee大神们的算法/数学相关开源项目推荐

    现在的大厂面试,算法似乎已经成为了必考项目.当大家的业务水平相近,谁的数学与算法基础更好,谁可能就会获得更好的机会.Gitee 上也有一些数学算法的大牛,今天就为大家分享他们的开源项目,希望能给正在学 ...

  6. (转)iOS开发资源:推送通知相关开源项目--PushSharp、APNS-PHP以及Pyapns等

    PushSharp  (github) PushSharp是一个实现了由服务器端向移动客户端推送消息的开源C#库,支持 iOS (iPhone/iPad APNS). Android (C2DM/GC ...

  7. 【搜索引擎基础知识3】搜索引擎相关开源项目及网站

    部分内容转自:http://blog.csdn.net/hguisu/article/details/8024799 一. 开源项目 apache lucene是apache下一个著名的开源搜索引擎内 ...

  8. 大数据相关开源项目汇总

    调度与管理服务 **Azkaban **是一款基于Java编写的任务调度系统任务调度,来自LinkedIn公司,用于管理他们的Hadoop批处理工作流.Azkaban根据工作的依赖性进行排序,提供友好 ...

  9. ChatGPT 以及相关开源项目体验

    本月初,ChatGPT 以惊人的速度问世,在技术圈中引起了广泛讨论.在 GitHub 上近期还诞生了多个 ChatGPT 相关的开源项目,数量之多令人瞠目结舌,甚至 ChatGPT 独霸了大半个 Gi ...

最新文章

  1. 【廖雪峰Python学习笔记】高阶函数
  2. 毕业设计:文献参考(十三)
  3. 分布式队列编程优化篇
  4. 移动前端适配方法总结
  5. image控件的 PostBackUrl绑定Eval
  6. 网友评荣耀V30:同价位无对手 除了双模5G和价格还有哪些原因
  7. 大数据_Hbase-shell命令_操作hbase_完成对表的增删改查---Hbase工作笔记0005
  8. mysql脚本执行中文乱码_MySQL从命令行导入SQL脚本时出现中文乱码的解决方法
  9. 编写shell管理脚本(二)
  10. 烧脑又过瘾!这个被严重低估的学习方法,看完瑟瑟发抖!
  11. 【论文阅读】利用深度自编码器神经网络预测药物相似度
  12. day21_Lambda表达式、函数式接口
  13. 通过注册表添加受信任站点
  14. CTF密码学——初探
  15. 《Unity游戏优化》笔记(4)[21/02/05_周五][P29_46]
  16. uva10534 hdu2198 双向LIS问题
  17. 深层循环神经网络(DRNN)
  18. 【操作系统概念-作业1】Introduction
  19. Ubuntu18.04安装NVIDIA驱动以及cuda出现的问题
  20. 程序员 10个 堪称神器的学习网站

热门文章

  1. mysql 单例模式好处_PHP单例模式的优点分析
  2. thinkphp 引入时间_thinkphp 文章发布日期时间修改问题
  3. 搞懂分布式技术16:浅谈分布式锁的几种方案
  4. 大快搜索城市运河大数据政务管理平台案例解读
  5. 使用java生产二维码
  6. spring 配置文件 数据库引入
  7. SQL基础---SQL SELECT DISTINCT 语句
  8. 软件项目开发流程及配置人员
  9. linux用户管理类常用命令:
  10. PPT 图片python处理