json_encode和json_decode的效率並沒有比serialize和unserialize的效率高,在還原序列化的時候效能相差兩倍左右,PHP 5.3執行效率比PHP 5.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 : " . strlen($json) . " "; echo "serialize : " . strlen($seri) . " "; $stime = microtime(true); for ($i = 0; $i < 10000; $i ++) { json_encode($target); } $etime = microtime(true); echo "json_encode : " . ($etime - $stime) . " "; //---------------------------------- $stime = microtime(true); for ($i = 0; $i < 10000; $i ++) { json_decode($json); } $etime = microtime(true); echo "json_decode : " . ($etime - $stime) . " "; //---------------------------------- $stime = microtime(true); for ($i = 0; $i < 10000; $i ++) { serialize($target); } $etime = microtime(true); echo "serialize : " . ($etime - $stime) . " "; //---------------------------------- $stime = microtime(true); for ($i = 0; $i < 10000; $i ++) { unserialize($seri); } $etime = microtime(true); echo "unserialize : " . ($etime - $stime) . " "; echo 'DONE.'; ?>
|