BasicPHP性能测试

最近闲暇时在研发BasicPHP1.1的版本,对BasicPHP框架进行的非常细的优化,其中性能优化是很重要的一部分。

ORM部分要把从数据库查询到的数据转换为对象数组,这个转换效率怎么样呢?今天进行了一次较为详细的测试。

首先,有两种选择,一是直接使用fetch_object(),将得到stdClass对象数组,在以前已经测试过,要比先fetch_array()再转换成model对象数组的效率要低,具体低多少呢?之前对3W条数据的测试,慢80%!

所以BasicPHP采用了目前的先fetch_array()再转换成model对象数组的方法,今天的测试结果如下:

从数据库中取出的数据量||转换成Model数组所花时间||比直接取出数组慢的时间百分比

100------0.0008s----0.16%
500------0.0031s----0.61%
1000-----0.0067s----1.29%
5000-----0.0183s----3.41%
10000----0.0376s----6.71%
20000----0.0763s----12.47%
30000----0.1111s----17.17%

当数据量超过3W的时候,内存不够用了,没办法继续测试了。

当数据量在1000条之内时,影响不到1%,说明该方法还是比较可取的。

把数据控制在1000条之内很容易,一般都会使用分页查询,每页的数量就很少了,所以转换为model的对象数组的循环执行速度就很快了。而且1.1版本中对分页查询进行了优化,确保平时在数据查询时的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值