PHP8确认支持JIT,加上Swoole给你不一样的感觉
2019-04-22
自 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!