久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      淺析PHP中json_encode、json_decode與serialize、unserialize的性能測試

      淺析PHP中json_encode、json_decode與serialize、unserialize的性能測試

      今天偶然在想,如果用PHP寫一個類似BDB的基于文件的Key-Value小型數(shù)據(jù)庫用于存儲非結(jié)構(gòu)化的記錄型數(shù)據(jù),不知道效率會如何?

      于是便聯(lián)想到PHP中的對象怎么樣序列化存儲性價比最高呢?接著想到了之前同事推薦的JSON編碼和解碼函數(shù)。
      據(jù)他所說,json_encodejson_decode比內(nèi)置的serializeunserialize函數(shù)要高效。
      于是我決定動手實驗,證實一下同事所說的情況是否屬實。
      實驗分別在PHP 5.2.13和PHP 5.3.2環(huán)境下進行。
      用同一個變量,分別用以上方式進行編碼或解碼10000次,并得出每個函數(shù)執(zhí)行10000次所需的時間。
      以下是PHP 5.2.13環(huán)境其中一次測試結(jié)果:

      代碼如下:

      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)境其中一次測試結(jié)果:

      代碼如下:

      json : 190  serialize : 257  json_encode : 0.062805891036987  json_decode : 0.14239192008972  serialize : 0.048481941223145  unserialize : 0.05927300453186  DONE.

      這次實驗得到的結(jié)論是:
      json_encodejson_decode的效率并沒有比serializeunserialize的效率高,在反序列化的時候性能相差兩倍左右,PHP 5.3執(zhí)行效率比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 :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.';  ?>

      相關(guān)學習推薦:PHP編程從入門到精通

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號