0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PHP 8.0 正式版正式开放下载 引入 JIT编译器特性

工程师邓生 来源:IT之家 作者:问舟 2020-11-27 10:06 次阅读

IT之家11月27日消息 恰逢一年一度感恩节,PHP 8.0 正式版现已正式开放下载

PHP 8.0 引入了 JIT编译器特性,同时加入多种新的语言功能,例如命名参数、联合类型、注解、Constructor Property Promotion、match 表达式、nullsafe 运算符以及对类型系统、错误处理和一致性的改进。

下载地址:https://www.php.net/downloads.php

JIT,Just-In-Time,即时编译

PHP 8.0 版本最重大的特性非 JIT莫属。而 JIT引入过程也是命途多舛,在经过了 PHP 5 与 7 大版本系列(PHP 6 项目流产)更新,直到去年 3 月份才最终通过投票确认将进入 PHP 8。

PHP 8.0 在性能上大约改进了 10%,通过 JIT 在综合基准测试中的性能提高到了 2.94,在某些特定的长期运行的应用程序中提高到 1.5–2。下面是 PHP 开发团队提供的相关对比数据:

支持 Union Types,联合类型

新的 static 返回类型

PHP 8.0 合并了诸多性能优化

JSON 支持现在被视为语言的核心部分,始终可用,而不是作为可选模块。

支持 named 参数,因为它们能够指定参数名称而不是其确切顺序。

支持类/属性/函数/方法/参数/常量的结构化元数据的属性(或在其他语言中也称为注释或修饰符)。

支持可以指示多种不同类型的联合类型,这些类型可以用作参数或函数的返回类型。

str_contains()函数是一种检查字符串是否包含在另一个字符串中的简便方法,而不必使用strpos等。与之相似的是新的str_starts_with()和str_ends_with()函数,这些函数很容易解释。

添加了Nullsafe运算符,作为在方法上应用空合并行为的快速简便的方法。

IT之家提醒,有需求的用户可自行前往官网查看更多内容详情。

责任编辑:PSY

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 下载
    +关注

    关注

    52

    文章

    809

    浏览量

    26018
  • 编译器
    +关注

    关注

    1

    文章

    1577

    浏览量

    48625
  • PHP
    PHP
    +关注

    关注

    0

    文章

    452

    浏览量

    26454
  • JIT
    JIT
    +关注

    关注

    0

    文章

    6

    浏览量

    9713
收藏 人收藏

    评论

    相关推荐

    C语言:嵌入式开发中的关键编译器角色

    嵌入式程序开发跟硬件密切相关,需要使用C语言来读写底层寄存器、存取数据、控制硬件等,C语言和硬件之间由编译器来联系,一些C标准不支持的硬件特性操作,由编译器提供。
    发表于 04-26 14:53 57次阅读
    C语言:嵌入式开发中的关键<b class='flag-5'>编译器</b>角色

    RX系列V3.06.00的C/C++编译器包数据手册

    电子发烧友网站提供《RX系列V3.06.00的C/C++编译器包数据手册.pdf》资料免费下载
    发表于 01-26 15:57 1次下载
    RX系列V3.06.00的C/C++<b class='flag-5'>编译器</b>包数据手册

    RL78系列的C编译器包数据手册

    电子发烧友网站提供《RL78系列的C编译器包数据手册.pdf》资料免费下载
    发表于 01-26 15:55 0次下载
    RL78系列的C<b class='flag-5'>编译器</b>包数据手册

    php的源码是开放的吗

    的。这意味着任何人都可以自由地查看、修改和分发这些源代码。这种开放性为PHP的发展奠定了坚实的基础,并吸引了全球范围内的大量开发者参与到PHP社区中。 1.1 源码获取与查看 任何人都可以通过
    的头像 发表于 12-04 15:57 546次阅读

    编译器的优化选项

    这一点,需要了解编译器的能力和限制;第三,要了解硬件的运行方式,针对硬件特性进行优化。本文着重展开第二点和第三点。 简单认识编译器 要写出高性能的代码,首先需要对编译器有基础的了解,原
    的头像 发表于 11-24 15:37 412次阅读
    <b class='flag-5'>编译器</b>的优化选项

    嵌入式javascript编译器的设计与实现

    电子发烧友网站提供《嵌入式javascript编译器的设计与实现.pdf》资料免费下载
    发表于 10-30 11:29 0次下载
    嵌入式javascript<b class='flag-5'>编译器</b>的设计与实现

    新版编译器的设计思路和优化方法

    小程序编译器在小程序开发、预览、发布各个阶段都需要使用,因此编译器性能会直接影响到开发者开发效率,也会影响到开发者工具的使用体验。 由于旧版的编译器(基于 webpack4)在构建大型项目时会很慢,内存占用也高,一直被开发者吐槽
    发表于 10-13 11:21 152次阅读
    新版<b class='flag-5'>编译器</b>的设计思路和优化方法

    MPLAB XC16 C编译器用户指南

    电子发烧友网站提供《MPLAB XC16 C编译器用户指南.pdf》资料免费下载
    发表于 09-21 09:27 1次下载
    MPLAB XC16 C<b class='flag-5'>编译器</b>用户指南

    Keil修改ARM编译器及配置方法

    Keil MDK自 V5.36 版本之后,默认就不带 Arm Compiler V5版本编译器。如果需要使用 V5 版本编译器,就需要自己下载并安装。
    发表于 09-19 10:41 2231次阅读
    Keil修改ARM<b class='flag-5'>编译器</b>及配置方法

    如何安装ARM编译器Linux版

    本教程介绍如何下载、安装、设置您的环境,以及如何开始使用ARM编译器for Linux。 ARM编译器Linux版软件包包括ARM C/C++编译器、ARM Fortran
    发表于 08-28 06:45

    Arm编译器可扩展矢量扩展用户指导

    Arm编译器工具链支持实现可伸缩矢量扩展(SVE)EAC的目标(00rel2)用于Armv8‑A AArch64。 SVE是AArch64的SIMD指令集,它为High引入了以下体系结构特征性能计算
    发表于 08-08 06:34

    编译器的标准生命周期

    编译器的标准生命周期
    发表于 07-05 19:32 0次下载
    <b class='flag-5'>编译器</b>的标准生命周期

    Neuron 现场编译器用户指南

    Neuron 现场编译器用户指南
    发表于 07-04 20:47 0次下载
    Neuron 现场<b class='flag-5'>编译器</b>用户指南

    SDCC-Linux下的51 MCU编译器

    SDCC (小型设备C编译器)是为8位微控制器开发的免费C编译器。尽管兼容多种不同体系结构,但SDCC C编译器更适合8051内核。 SDCC是命令行固件开发工具,含预处理器、编译器
    的头像 发表于 06-16 15:19 3686次阅读

    峰会回顾第6期 | 毕昇编译器与OpenHarmony RISC-V生态的进展

    设计经验,负责探索先进软硬件协同设计技术、工具以及方法。   文章内 容来 源 第一届开放原子开源基金会OpenHarmony技术峰会——开发者工具分论坛   视频回顾   正 文 内 容   由C、C++、Java等高级语言编码的人类可读源代码需要通过编译器
    的头像 发表于 05-05 15:46 1132次阅读
    峰会回顾第6期 | 毕昇<b class='flag-5'>编译器</b>与OpenHarmony RISC-V生态的进展