创意电子

标题: PHP 8 能有多快? [打印本页]

作者: hualuo    时间: 2020-10-28 02:30
标题: PHP 8 能有多快?
PHP-8将于今年年底发布,其最令人期待的功能之一就是JIT编译。让我们通过本文来看看这项功能对PHP脚本的速度有怎样的影响?

                               
登录/注册后可看大图
作者 | Pedro Escudero
译者 | 弯月,责编 | 郭芮
以下为译文:
今年年底,PHP-8即将发布。虽然这个主版本有很多新功能,例如联合类型、静态返回和弱映射等,但最令人期待的改进还是JIT编译器。
从理论上讲,JIT处理PHP脚本编译的方式能够提高应用程序的速度。但让我们来看看这种方法能否达到我们的期望。
请注意,在本文中使用的PHP-8不是最终版本。
首先,我们来编写一段运行的代码。我选择了冒泡排序,因为这是最差的排序算法,只有这种测试的时候我才能用这个排序算法。

我知道这个脚本编写的并不是很好,尤其是中间那个讨厌的数组。我知道我可以生成一个随机数组。我也知道我可以从文件中读取这个数组。但是,我只想要一个不需要考虑其他因素的非常慢的冒泡算法。我不希望这个基准测试中出现任何额外的干扰。
首先,我们在当前的PHP 7.4版本中运行脚本:
docker container run --rm -v $(pwd):/script/ php:7.4 php /script/bubble.php
运行100次得到的平均时间为0.10253500938416秒——还不错。
现在我们在PHP-8中运行,先不要激活JIT。
docker container run --rm -v $(pwd):/script/ martinpham/php8:fpm-extra-alpine php /script/bubble.php
同样运行100次的平均时间为0.098223924636841秒。老实说,这个提升不怎么明显。
下面,我们来测试期待已久的JIT:
docker container run --rm -v $(pwd):/script/ keinos/php8-jit php /script/bubble.php
平均运行时间为0.053637981414795秒!JIT确实很惊喜!对于像我这样非常关注执行时间的人来说,这简直就是一个福音。虽然单看数字你没什么感觉(仅改善了0.04458594322秒),但换算成百分比后,就能更好地看清优势了:45.39%。
我想从更多的角度来对比,因此我使用了2009年的PHP-5.3版本来运行这段代码。
docker container run --rm -v $(pwd):/script/ php:5.3 php /script/bubble.php
平均花费了0.64574003219604秒。比激活了JIT的PHP-8满了0.5921020508(下降了-1,103.88)!我的天,2009年的时候我们是怎么过来的?

                               
登录/注册后可看大图
注意:
原文:https://levelup.gitconnected.com/how-fast-is-php-8-going-to-be-f7fdc111cd6
作者:Pedro Escudero,工程副总裁@zinio.com。
本文为 CSDN 翻译,转载请注明来源出处。
作者: vito    时间: 2020-10-28 02:31
快到全宇宙第一,没有之!!!!我用php开发的ios APP比系统还快,系统还没启动完软件都打开了。php开发的安卓app比内存还快,软件还没下载完就已经启动好了。php开发的数据库完爆sql monodb nosql orcle等!今年决对是php元年,爆炸的一年!!!
作者: PF3686    时间: 2020-10-28 02:33
我总觉得PHP走的路子错了,PHP完全变成了运行在c上层的一种纯粹胶水+文档语言了,而不是一门真正的高级语言。这种做法稍稍令人不齿。
作者: hyff    时间: 2020-10-28 02:36
追求开发速度会用php,追求运行速度我更乐意换个语言
作者: 刘伟    时间: 2020-10-28 02:40
PHP是世界上最好的语言
作者: LH4206    时间: 2020-10-28 02:45
一般瓶颈都在io上,语言解释器的瓶颈几乎不考虑 还有就是有人写代码太烂,导致运的速度太慢
作者: A随行付POS机_赵    时间: 2020-10-28 02:46
PHP是不错,做东西快,可惜我只会Python[惊呆]
作者: qq3028236701    时间: 2020-10-28 02:50
php网站更多的瓶颈在于数据库,不是程序本身
作者: A随行付POS机_赵    时间: 2020-10-28 02:54
我之前只知道冒泡排序算法虽然不是最快的算法但是却是最稳定的算法,今天突然发现有人说它是最差的算法。我好难过!
作者: A随行付POS机_赵    时间: 2020-10-28 02:57
元老团队不是解散了,现在那些人在维护?看样子测试,比7快了近一半时间啊
作者: hyff    时间: 2020-10-28 03:01
jit是多密集型运算做补充,对大部分程序没有什么提升
作者: vito    时间: 2020-10-28 03:02
MYSQL是个瓶颈
作者: PF3686    时间: 2020-10-28 03:07
主要瓶颈在IO,应该在并发方面下功夫,
作者: 立森影像LESU    时间: 2020-10-28 03:09
PHP的框架太多,门派太多,百花齐放,很锻炼程序员的能力。但应该像java一样就用那么几个框架,更加简单入手。
作者: A随行付POS机_赵    时间: 2020-10-28 03:12
这个是为密集运算做的准备,php的目标是java说实话,现在越来越像java了
作者: LH4206    时间: 2020-10-28 03:15
用php的人还是用php,不用php的,哪怕他变得再优秀,也说不行
作者: PF3686    时间: 2020-10-28 03:19
php的生态基本不可超越,除非java和go有项目发展出类似wp这种插件生态,php才可以不是最好的语言。
作者: qq3028236701    时间: 2020-10-28 03:22
快速迭代必须用php
作者: 立森影像LESU    时间: 2020-10-28 03:25
PHP本身的优势是便捷,现在我一个10+年的,居然看着很吃力,与其搞JIT,不如搞搞开发APP
作者: LH4206    时间: 2020-10-28 03:29
PHP不是最优秀的编程语言
作者: 刘伟    时间: 2020-10-28 03:29
PHP是宇宙最好的语言[灵光一闪][灵光一闪]




欢迎光临 创意电子 (https://www.wxcydz.cc/) Powered by Discuz! X3.4