PHP的库

PHP的库函数用C实现,而Java核心运行时类库(jdk/jre/lib/rt.jar,大于60MB)用Java编写(jdk/src.zip), 所以Java应用运行的时候,用户编写的代码以及引用的类库和框架都要在JVM上解释执行. Java的HotSpot机制,直到有方法被执行10000次( -XX:CompileThreshold=10000 )才会触发JIT编译, 在此之前运行在解释模式下,以避免出现JIT编译花费的时间比方法解释执行消耗的时间还要多的情况. 所以说,Java在压力测试中显得快,但实际应用就不会这么体面了.

编译型语言,以及基于JIT运行时编译的语言,在计算密集型操作时,对比无编译的动态脚本语言有数量级的优势.但是,Web应用更多的瓶颈是出现在IO上,包括网络IO,数据库IO等各种IO.而PHP你可以认为是一种C跟Web的胶水语言,PHP不负责密集计算,比如MySQL数据库CRUD就涉及密集计算, 数据在内存上时,是计算密集,数据在磁盘上时,是IO密集 ,而MySQL是C/C++实现的服务,不管是PHP还是其他语言,对MySQL来说都是客户端,MySQL自身出现瓶颈时,不管是PHP还是其他语言都无能为力.

也就是说,操作数据库时,是C/C++实现的数据库引擎在对B+树进行计算密集的二分查找,不是PHP.所以PHP计算的快慢并不会影响数据库自身的计算快慢.

所以说,不要拿动态脚本语言跟编译型/JIT型语言比计算,因为没有意义.

在没有JIT的动态脚本的对比里面,PHP还是相当快的,PHP5都比CPython和Ruby快,更不用说PHP7了.当然了,PHP7也在为PHP加入JIT来提升计算性能,现在看来还是有成果的. 比如 php-src/Zend/bench.php测试中,PHP JIT速度是PHP 5.4的10倍.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值