json_encode的性能,json_decode和PHP序列化和序列化
他说,json_encode和json_decode是更有效的比内置的序列化,序列化功能。
所以我决定做实验,以证实同事们说的是真的。
进行了实验,在PHP环境5.2.13和PHP 5.3.2,分别。
相同的变量分别用于编码或解码10000次,并获得每个函数执行10000次所需的时间。
以下是一个在PHP 5.2.13环境测试结果:
复制代码代码如下所示:
JSON:190
连载:257
json_encode:0.08364200592041
json_decode:0.18004894256592
连载:0.063642024993896
序列化:0.086990833282471
完成.
以下是一个在PHP 5.3.2环境测试结果:
复制代码代码如下所示:
JSON:190
连载:257
json_encode:0.062805891036987
json_decode:0.14239192008972
连载:0.048481941223145
序列化:0.05927300453186
完成.
实验的结论是:
对json_encode和json_decode效率不高于序列化,序列化,和性能上的差异是两次当反序列化执行,和PHP 5.3的执行效率略高于PHP 5.2。
下面是我用来测试的代码:
复制代码代码如下所示:
< PHP
$目标=数组(
万能头盔,
质量= > '蓝色',
ti_id= > 21302,
is_bind= > 1,
demand_conditions= >
阵列(
herolevel= > 1,
),
quality_attr_sign= >
阵列(
herostrength= > 8,
heroagility= > 8,
herointelligence= > 8,
),
);
JSON = json_encode美元(美元的目标);
美元($目标)=连载系列;
。Strlen($ JSON)。 ;
回声连载: T 。Strlen($斯里巴加湾)。 ;
$时间=瞬时(真);
($ i = 0;$ i < 10000;$ + +)
{
json_encode(为目标);
}
$时间=瞬时(真);
回声json_encode: T 。($海事至时间)。 ;
/ / ----------------------------------
$时间=瞬时(真);
($ i = 0;$ i < 10000;$ + +)
{
json_decode($ JSON);
}
$时间=瞬时(真);
回声json_decode: T 。($海事至时间)。 ;
/ / ----------------------------------
$时间=瞬时(真);
($ i = 0;$ i < 10000;$ + +)
{
序列化(为目标);
}
$时间=瞬时(真);
回声连载: T 。($海事至时间)。 ;
/ / ----------------------------------
$时间=瞬时(真);
($ i = 0;$ i < 10000;$ + +)
{
序列化($斯里巴加湾);
}
$时间=瞬时(真);
回声序列化: T 。($海事至时间)。 ;
echo'done。;
>