|
據(jù)他所說(shuō),json_encode和json_decode比內(nèi)置的serialize和unserialize函數(shù)要高效。
于是我決定動(dòng)手實(shí)驗(yàn),證實(shí)一下同事所說(shuō)的情況是否屬實(shí)。
實(shí)驗(yàn)分別在php 5.2.13和php 5.3.2環(huán)境下進(jìn)行。
用同一個(gè)變量,分別用以上方式進(jìn)行編碼或解碼10000次,并得出每個(gè)函數(shù)執(zhí)行10000次所需的時(shí)間。
以下是php 5.2.13環(huán)境其中一次測(cè)試結(jié)果:
復(fù)制代碼 代碼如下:
json : 190
serialize : 257
json_encode : 0.08364200592041
json_decode : 0.18004894256592
serialize : 0.063642024993896
unserialize : 0.086990833282471
DONE.
以下是php 5.3.2環(huán)境其中一次測(cè)試結(jié)果:
復(fù)制代碼 代碼如下:
json : 190
serialize : 257
json_encode : 0.062805891036987
json_decode : 0.14239192008972
serialize : 0.048481941223145
unserialize : 0.05927300453186
DONE.
這次實(shí)驗(yàn)得到的結(jié)論是:
json_encode和json_decode的效率并沒(méi)有比serialize和unserialize的效率高,在反序列化的時(shí)候性能相差兩倍左右,php 5.3執(zhí)行效率比php 5.2略有提升。
以下是我用來(lái)做測(cè)試的代碼:
復(fù)制代碼 代碼如下:
<?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 :/t/t" . strlen($json) . "/r/n";
echo "serialize :/t" . strlen($seri) . "/r/n/r/n";
$stime = microtime(true);
for ($i = 0; $i < 10000; $i ++)
{
json_encode($target);
}
$etime = microtime(true);
echo "json_encode :/t" . ($etime - $stime) . "/r/n";
//----------------------------------
$stime = microtime(true);
for ($i = 0; $i < 10000; $i ++)
{
json_decode($json);
}
$etime = microtime(true);
echo "json_decode :/t" . ($etime - $stime) . "/r/n/r/n";
//----------------------------------
$stime = microtime(true);
for ($i = 0; $i < 10000; $i ++)
{
serialize($target);
}
$etime = microtime(true);
echo "serialize :/t" . ($etime - $stime) . "/r/n";
//----------------------------------
$stime = microtime(true);
for ($i = 0; $i < 10000; $i ++)
{
unserialize($seri);
}
$etime = microtime(true);
echo "unserialize :/t" . ($etime - $stime) . "/r/n/r/n";
echo 'DONE.';
?>
php技術(shù):PHP中json_encode、json_decode與serialize、unserialize的性能測(cè)試分析,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。