自1994年php诞生以来,PHP语言经历了许多改进,即使很多人唱衰PHP药丸,但它的发展还是依旧在持续增长,今年已经是第25周年也还是没完,且上了杜蕾斯的封面!PHP去年发布了7.4版本,性能提升不少。但是咱们今天来唠唠PHP8,因为预计在2020下半年即将发布,我们来看下测试结果。翻译来自:https://www.oschina.net/news/116256/php8-jit-pre-alpha-benchmarks?p=4
所有受测试的版本都是在相同系统中使用相同的编译器和 PHP 配置文件以相同的方式进行构建,测试环境如下:
测试结果如下:
上图显示了使用 PHPbench 测试各版本 PHP 的性能结果。可以看到,从 PHP 7.4 stable 到 PHP 8 有小幅度改进,大约是 7% 的提升,但如果 PHP 8 启用了 JIT,性能改进可以说是非常明显,比 PHP 7.4 stable 提升了 92%。至于更旧的版本,PHP 8 with JIT 的性能是 PHP 5.4 的 5 倍。
上图是各版本 PHP Micro基准测试的结果,通过一些 PHP 自带的内置测试,可以看到 PHP 8.0 的速度比已经很快的 PHP 7.4 略有提高,而启用 JIT 支持后,其速度更是碾压全场。
根据官方说法:PHP JIT 对于使用 PHP 的网站来说提速可能并不明显,因为 JIT 在 计算机CPU 密集型的代码上效果最好,所以性能提升只是顺带。
而一般情况下,用PHP编写的程序都是 IO密集型的。用人话来讲就是:PHP程序往往受限于IO而不是CPU,使PHP代码运行速度变慢的因素往往是它们正在执行的 IO 操作,包括连接、读取和写入数据库、高速缓存、文件与套接字等。(以上两段消息来源于官方:https://wiki.php.net/rfc/jit)
那么这个时候Swoole协程、并发编程的出现正好提高对 IO 密集型场景并发处理能力!让PHP也可以使用高性能微服务架构,通信场景、重新定义PHP!
然而在这里可能有PHPer说用Go不香吗?要想成为一个优秀的开发者,你应该关注解决问题层面上来,用现有的技术资源去成就商业,而不是用公司的资源去成就一门技术,为了技术而技术!如果你不能用一种语言里面的基本特性写出好的代码解决问题,那你换成另外一种语言也无济于事。技术人员的发展一直都是“T”字型,如果连吃饭的PHP都学不好,转JAVA、Go语言你就能成为大牛了?