最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

json

运维笔记admin28浏览0评论

json

json

路由器设置教程-computerz_cn exe

2023年3月31日发(作者:phpmyadmin下载)

phpjson_decode效率,浅析PHP中json_encode、

json_decod。。。

今天偶然在想,如果⽤PHP写⼀个类似BDB的基于⽂件的Key-Value⼩型数据库⽤于存储⾮结构化的记录型数据,不知道效率会如何?

于是便联想到PHP中的对象怎么样序列化存储性价⽐最⾼呢?接着想到了之前同事推荐的JSON编码和解码函数。

据他所说,json_encode和json_decode⽐内置的serialize和unserialize函数要⾼效。

于是我决定动⼿实验,证实⼀下同事所说的情况是否属实。

实验分别在PHP5.2.13和PHP5.3.2环境下进⾏。

⽤同⼀个变量,分别⽤以上⽅式进⾏编码或解码10000次,并得出每个函数执⾏10000次所需的时间。

以下是PHP5.2.13环境其中⼀次测试结果:

代码如下:json:190

serialize:257

json_encode:0.41

json_decode:0.18

serialize:0.896

unserialize:0.471

DONE.

以下是PHP5.3.2环境其中⼀次测试结果:

代码如下:json:190

serialize:257

json_encode:0.987

json_decode:0.972

serialize:0.145

unserialize:0.86

DONE.

这次实验得到的结论是:

json_encode和json_decode的效率并没有⽐serialize和unserialize的效率⾼,在反序列化的时候性能相差两倍左右,PHP5.3执⾏效率

⽐PHP5.2略有提升。

代码如下:<?php

$target=array(

'name'=>'全能头盔',

'quality'=>'Blue',

'ti_id'=>21302,

'is_bind'=>1,

'demand_conditions'=>

array(

'HeroLevel'=>1,

),

'quality_attr_sign'=>

array(

'HeroStrength'=>8,

'HeroAgility'=>8,

'HeroIntelligence'=>8,

),

);

$json=json_encode($target);

$seri=serialize($target);

echo"json:tt".strlen($json)."rn";

echo"serialize:t".strlen($seri)."rnrn";

$stime=microtime(true);

for($i=0;$i<10000;$i++)

{

json_encode($target);

}

$etime=microtime(true);

echo"json_encode:t".($etime-$stime)."rn";

//----------------------------------

$stime=microtime(true);

for($i=0;$i<10000;$i++)

{

json_decode($json);

}

$etime=microtime(true);

echo"json_decode:t".($etime-$stime)."rnrn";

//----------------------------------

$stime=microtime(true);

for($i=0;$i<10000;$i++)

{

serialize($target);

}

$etime=microtime(true);

echo"serialize:t".($etime-$stime)."rn";

//----------------------------------

$stime=microtime(true);

for($i=0;$i<10000;$i++)

{

unserialize($seri);

}

$etime=microtime(true);

echo"unserialize:t".($etime-$stime)."rnrn";

echo'DONE.';

>

json_encode

发布评论

评论列表(0)

  1. 暂无评论