PHP8确认支持JIT,加上Swoole后快到飞起
自 1994 年 PHP诞生 以来, PHP语言经历了许多改进,其中性能是开发人员在评估新版本时考虑的主要标准之一。
之前的版本暂且先不提,咱们可以先来唠唠目前使用的PHP7.3版本,大家都知道 PHP 7 发布的时候号称比 PHP5.6 快两倍,那PHP7.3的性能如何呢?
Phoronix 在 PHP 7.3 Alpha1 发布时,曾进行过一项基准测试,结果发现在常用的 PHPBench 基准测试中(下图),PHP 7.3.0 Alpha 1 比之前的 PHP 7.2 稳定版本快约 7% ,比 PHP 7.0 快 22% ;
可以说PHP7.3版本的性能已经到了一定的地步,但是实际上这些优化似乎已经走到极限了。现在 JIT 从底层着手,被认为是目前提升 PHP 性能的最佳出路。关于PHP8是否引入 JIT 的官方投票结果已于本月1号公布,因为一部分大佬(里面有鸟哥)投了赞成票!
根据官方说法:PHP JIT 对于使用 PHP 的网站来说提速可能并不明显,因为 JIT 在 CPU 密集型的代码上效果最好,所以PHP8的JIT作用主要是发挥数学领域。
而一般情况下,用 PHP 编写的程序都是 I/O 密集型的。用人话来讲就是:PHP 程序往往受限于 I/O 而不是 CPU,使 PHP 代码运行速度变慢的因素往往是它们正在执行的 I/O 操作,包括连接、读取和写入数据库、高速缓存、文件与套接字等。(以上两段消息来源于官方:https://wiki.php.net/rfc/jit)
那么这个时候Swoole的出现正好是解决IO密集型问题,优势:常驻内存,避免重复加载带来的性能损耗,提升海量性能,协程异步,提高对 I/O 密集型场景并发处理能力(如:百度地图、百度订单中心、虎牙直播等);方便地开发Http、WebSocket、TCP、UDP 等应用,可以与硬件通信,使得PHP也可以使用高性能Swoft微服务架构,重新定义PHP!
目前Swoole的定位是为高级PHPer所打造的,涉及知识点较复杂;但是这个并不妨碍初中级程序员去学习并掌握它,PHP并发编程、Swoft微服务等是PHP程序员进阶为高级工程师、架构师的必备技能!为了大家能够顺利进阶中高级程序员、架构师,我为大家准备了一套精品福利!
JIT 带来的性能提升对整个语言使用场景的扩展及语言生态发展的支持,可以加速语言的发展(更多人可以参与进来),同时也可以减少目前使用 C 开发容易出现的内存管理、溢出等问题。很多PHPer把自己局限在一个角落里面,其实大家应该去拥抱PHP带来的变化与生态,Swoole解决了IO密集场景问题,JIT解决了计算密集场景问题,未来PHP的发展不会差到哪里去的;这套教程针对那些1-6年PHP开发,助大家顺利进阶为一名优秀的CTO、架构师!
关注我就送视频资料
部分资料展示:
前60名限时精品福利:
①分布式消息中间件及多进程实战
②Redis缓存击穿/缓存雪崩预防策略
③腾讯高级PHP工程师精品笔试题
④Swoole并发百万的协程使用及分析