php的serialize序列化和json性能测试

最近需要对大数组做存储,需要在serialize序列化和json之间做了选择。因此需要做了性能测试。

在php5.2之前对数组存储的时候,大都使用serialize系列化。php5.2之后,开始内置了 JSON 的支持

在网上看到有些资料说:json_encode和json_decode比内置的serialize和unserialize函数要高效。耳闻不如眼见,眼见不一定为实。那就用实际数据测试吧.....

我们先理解概念:

一、 序列化

序列化是将对象状态转换为可保持或可传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。

将对象的状态信息转换为可以存储或传输的窗体的过程。 在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

通常,对象实例的所有字段都会被序列化,这意味着数据会被表示为实例的序列化数据。这样,能够解释该格式的代码有可能能够确定这些数据的值,而不依赖于该成员的可访问性。类似地,反序列化从序列化的表示形式中提取数据,并直接设置对象状态,这也与可访问性规则无关。 对于任何可能包含重要的安全性数据的对象,如果可能,应该使该对象不可序列化。如果它必须为可序列化的,请尝试生成特定字段来保存不可序列化的重要数据。如果无法实现这一点,则应注意该数据会被公开给任何拥有序列化权限的代码,并确保不让任何恶意代码获得该权限。


二、 JSON

JSON,JavaScript Object Notation,一种更轻、更友好的用于接口(AJAX、REST等)数据交换的格式。 JSON是结构化数据串行化的文本格式,作为XML的一种替代品,用于表示客户端与服务器间数据交换有效负载的格式。它是从ECMAScript语言标准衍生而来的。JSON的设计目标是使它成为小的、轻便的、文本的,而且是JavaScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

JSON建构有两种结构:
1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。


2.值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

测试:

三、 实际测试

在PHP 5.3下执行:我们先使用小的数据做测试:

  1. <?php    
  2. $target = array (    
  3.    'battle_id'=> 257    
  4.    ,'user_id'=> 41248    
  5.    ,'user_id2'=> 23989    
  6.    ,'player'=> 41248    
  7.    ,'formation'=> Array    
  8.         (    
  9.            '41248'=> 1    
  10.            ,'23989'=> 2    
  11.         )    
  12.     
  13.    ,'result'=> 1    
  14.    ,'battle_type'=> 1    
  15.    ,'speed'=> Array    
  16.         (    
  17.            '41248'=> 0    
  18.            ,'23989'=> 0    
  19.         )    
  20.         );    
  21.     
  22. $json = json_encode($target);    
  23. $seri = serialize($target);    
  24.     
  25. echo "json :" , strlen($json) ,'<br/>';    
  26. echo "serialize :"strlen($seri) ,'<br/>';    
  27.     
  28. $stime = microtime(true);    
  29. for ($i = 0; $i < 10000; $i ++) {    
  30.     json_encode($target);    
  31. }    
  32. $etime = microtime(true);    
  33.     
  34. echo "json_encode :", ($etime - $stime) ,'<br/>';    
  35.     
  36. //----------------------------------    
  37.     
  38. $stime = microtime(true);    
  39. for ($i = 0; $i < 10000; $i ++) {    
  40.    json_decode($json,true);    
  41. }    
  42. $etime = microtime(true);    
  43.     
  44. echo "json_decode :", ($etime - $stime),'<br/>';    
  45.     
  46. //----------------------------------    
  47. $stime = microtime(true);    
  48. for ($i = 0; $i < 10000; $i ++) {    
  49.     serialize($target);    
  50. }    
  51. $etime = microtime(true);    
  52.     
  53. echo "serialize :", ($etime - $stime) ,'<br/>';    
  54.     
  55. //----------------------------------    
  56. $stime = microtime(true);    
  57. for ($i = 0; $i < 10000; $i ++) {    
  58.     unserialize($seri);    
  59. }    
  60. $etime = microtime(true);    
  61.     
  62. echo "unserialize :", ($etime - $stime),'<br/>';    
  63.     
  64. ?>    


测试结果:

json :156
serialize :222
json_encode :0.1087498664856
json_decode :0.12652111053467
serialize :0.041656017303467
unserialize :0.040987968444824

测试结果看出json效率稍微比serialize差点,在php5.2可能会更差。应该是在php5.3之后,json扩展做了优化。

然后使用大数组做测试(代码放到最后,因为代码的数组比较长):

测试结果:

json :5350
serialize :8590
json_encode :0.90479207038879
json_decode :1.753741979599
serialize :1.3566699028015
unserialize :1.3003630638123

我们可以看出,serialize比json差了快一个数量级。

总结:

1) 空间的比较

serialize在编码后大概是json的1.5倍

原因:

  • serialize后字符串包含了子串的长度,这可能是速度方面的优化,但是测试结果不尽人意
  • serialize有更加详细的类型区分,而json只有四种类型,并且是以简单的符号表示。
  • 2)速度的比较
  • 在较小数据的情况下, serialize比json快数量级。

    在大数据量的情况下,json比serialize稍微差一点

    3)处理对象
    json无法处理对象方法等数据。

    4)使用范围

    • 序列化使用serialize,特别是对象的存储。这是其存在的意义。
    • 与对象无关的数据存储可以使用json,如包含大量数字的数组等。

      • 在前后端交互一般都使用JSON,另外,目前JSON只支持UTF-8编码的数据。


  1. <?php  
  2.   
  3. $target = array (  
  4.    'battle_id'=> 257  
  5.    ,'user_id'=> 41248  
  6.    ,'user_id2'=> 23989  
  7.    ,'player'=> 41248  
  8.    ,'formation'=> Array ('41248'=> 1  ,'23989'=> 2)  
  9.    ,'result'=> 1  
  10.    ,'battle_type'=> 1  
  11.    ,'speed'=> Array( '41248'=> 0,'23989'=> 0  )  
  12.    ,'attacker'=> Array(  
  13.     '1'=> Array (  
  14.                    'user_id'=> 41248  
  15.                    ,'soldier_id'=> 28  
  16.                    ,'prototype_id'=> 4  
  17.                    ,'bid'=> 1  
  18.                    ,'level'=> 1  
  19.                    ,'rare'=> 1  
  20.                    ,'skill_id'=> 1  
  21.                    ,'totalhp'=> 3997  
  22.                    ,'hp'=> 3997  
  23.                    ,'attack_general'=> 346  
  24.                    ,'attack_skill'=> 596  
  25.                    ,'attack_explode'=> 458  
  26.                    ,'attack_type'=> 1  
  27.                    ,'defense'=> 0  
  28.                    ,'anger'=> 50  
  29.                    ,'dodge'=> 2  
  30.                    ,'crit'=> 2  
  31.                    ,'block'=> 2  
  32.                    ,'block_effect'=> 0.5  
  33.                    ,'crit_effect'=> 2  
  34.                    ,'foramtion_effect'=> 0)  
  35.            ,'4'=> Array (  
  36.                    'user_id'=> 41248  
  37.                    ,'soldier_id'=> 29  
  38.                    ,'prototype_id'=> 2  
  39.                    ,'bid'=> 1  
  40.                    ,'level'=> 1  
  41.                    ,'rare'=> 1  
  42.                    ,'skill_id'=> 1  
  43.                    ,'totalhp'=> 3555  
  44.                    ,'hp'=> 3555  
  45.                    ,'attack_general'=> 396  
  46.                    ,'attack_skill'=> 581  
  47.                    ,'attack_explode'=> 418  
  48.                    ,'attack_type'=> 1  
  49.                    ,'defense'=> 0  
  50.                    ,'anger'=> 50  
  51.                    ,'dodge'=> 2  
  52.                    ,'crit'=> 2  
  53.                    ,'block'=> 0  
  54.                    ,'block_effect'=> 0.5  
  55.                    ,'crit_effect'=> 2  
  56.                    ,'foramtion_effect'=> 0  
  57.                 )  
  58.            ,'5'=> Array                (  
  59.                    'user_id'=> 41248  
  60.                    ,'soldier_id'=> 30  
  61.                    ,'prototype_id'=> 6  
  62.                    ,'bid'=> 1  
  63.                    ,'level'=> 1  
  64.                    ,'rare'=> 1  
  65.                    ,'skill_id'=> 1  
  66.                    ,'totalhp'=> 3043  
  67.                    ,'hp'=> 3043  
  68.                    ,'attack_general'=> 351  
  69.                    ,'attack_skill'=> 540  
  70.                    ,'attack_explode'=> 474  
  71.                    ,'attack_type'=> 1  
  72.                    ,'defense'=> 0  
  73.                    ,'anger'=> 50  
  74.                    ,'dodge'=> 2  
  75.                    ,'crit'=> 2  
  76.                    ,'block'=> 0  
  77.                    ,'block_effect'=> 0.5  
  78.                    ,'crit_effect'=> 2  
  79.                    ,'foramtion_effect'=> 0)  
  80.            ,'7'=> Array (  
  81.                    'user_id'=> 41248  
  82.                    ,'soldier_id'=> 37  
  83.                    ,'prototype_id'=> 2  
  84.                    ,'bid'=> 1  
  85.                    ,'level'=> 1  
  86.                    ,'rare'=> 1  
  87.                    ,'skill_id'=> 1  
  88.                    ,'totalhp'=> 3491  
  89.                    ,'hp'=> 3491  
  90.                    ,'attack_general'=> 393  
  91.                    ,'attack_skill'=> 532  
  92.                    ,'attack_explode'=> 456  
  93.                    ,'attack_type'=> 1  
  94.                    ,'defense'=> 0  
  95.                    ,'anger'=> 50  
  96.                    ,'dodge'=> 2  
  97.                    ,'crit'=> 2  
  98.                    ,'block'=> 0  
  99.                    ,'block_effect'=> 0.5  
  100.                    ,'crit_effect'=> 2  
  101.                    ,'foramtion_effect'=> 0   ))  
  102.    ,'defender'=> Array(  
  103.            '2'=> Array(  
  104.                    'user_id'=> 23989  
  105.                    ,'soldier_id'=> 24  
  106.                    ,'prototype_id'=> 1  
  107.                    ,'bid'=> 1  
  108.                    ,'level'=> 1  
  109.                    ,'rare'=> 1  
  110.                    ,'skill_id'=> 1  
  111.                    ,'totalhp'=> 3230  
  112.                    ,'hp'=> 3230  
  113.                    ,'attack_general'=> 390  
  114.                    ,'attack_skill'=> 567  
  115.                    ,'attack_explode'=> 442  
  116.                    ,'attack_type'=> 1  
  117.                    ,'defense'=> 0  
  118.                    ,'anger'=> 50  
  119.                    ,'dodge'=> 2  
  120.                    ,'crit'=> 2  
  121.                    ,'block'=> 0  
  122.                    ,'block_effect'=> 0.5  
  123.                    ,'crit_effect'=> 2  
  124.                    ,'foramtion_effect'=> 0)  
  125.            ,'5'=> Array(  
  126.                    'user_id'=> 23989  
  127.                    ,'soldier_id'=> 25  
  128.                    ,'prototype_id'=> 2  
  129.                    ,'bid'=> 1  
  130.                    ,'level'=> 1  
  131.                    ,'rare'=> 1  
  132.                    ,'skill_id'=> 1  
  133.                    ,'totalhp'=> 3400  
  134.                    ,'hp'=> 3400  
  135.                    ,'attack_general'=> 379  
  136.                    ,'attack_skill'=> 536  
  137.                    ,'attack_explode'=> 405  
  138.                    ,'attack_type'=> 1  
  139.                    ,'defense'=> 0  
  140.                    ,'anger'=> 50  
  141.                    ,'dodge'=> 2  
  142.                    ,'crit'=> 2  
  143.                    ,'block'=> 0  
  144.                    ,'block_effect'=> 0.5  
  145.                    ,'crit_effect'=> 2  
  146.                    ,'foramtion_effect'=> 0 )  
  147.            ,'7'=> Array(  
  148.                    'user_id'=> 23989  
  149.                    ,'soldier_id'=> 26  
  150.                    ,'prototype_id'=> 6  
  151.                    ,'bid'=> 1  
  152.                    ,'level'=> 1  
  153.                    ,'rare'=> 1  
  154.                    ,'skill_id'=> 1  
  155.                    ,'totalhp'=> 3669  
  156.                    ,'hp'=> 3669  
  157.                    ,'attack_general'=> 362  
  158.                    ,'attack_skill'=> 549  
  159.                    ,'attack_explode'=> 426  
  160.                    ,'attack_type'=> 1  
  161.                    ,'defense'=> 0  
  162.                    ,'anger'=> 50  
  163.                    ,'dodge'=> 2  
  164.                    ,'crit'=> 2  
  165.                    ,'block'=> 0  
  166.                    ,'block_effect'=> 0.5  
  167.                    ,'crit_effect'=> 2  
  168.                    ,'foramtion_effect'=> 0 )  
  169.            ,'9'=> Array(  
  170.                    'user_id'=> 23989  
  171.                    ,'soldier_id'=> 27  
  172.                    ,'prototype_id'=> 1  
  173.                    ,'bid'=> 1  
  174.                    ,'level'=> 1  
  175.                    ,'rare'=> 1  
  176.                    ,'skill_id'=> 1  
  177.                    ,'totalhp'=> 3618  
  178.                    ,'hp'=> 3618  
  179.                    ,'attack_general'=> 326  
  180.                    ,'attack_skill'=> 510  
  181.                    ,'attack_explode'=> 419  
  182.                    ,'attack_type'=> 1  
  183.                    ,'defense'=> 0  
  184.                    ,'anger'=> 50  
  185.                    ,'dodge'=> 2  
  186.                    ,'crit'=> 2  
  187.                    ,'block'=> 0  
  188.                    ,'block_effect'=> 0.5  
  189.                    ,'crit_effect'=> 2  
  190.                    ,'foramtion_effect'=> 0) )  
  191.    ,'battle_process'=> Array(  
  192.            '0'=> Array(  
  193.                    'user_id'=> 41248  
  194.                    ,'asid'=> 28  
  195.                    ,'bsid'=> Array( '0'=> 26 )  
  196.                    ,'harm'=> Array('0'=> 1650)  
  197.                    ,'dhp'=> Array('0'=> 2019  )  
  198.                    ,'attacker_anger'=> 66  
  199.                    ,'defender_anger'=> Array('0'=> 94 )  
  200.                    ,'skill'=> 0  
  201.                    ,'state'=> 0  
  202.                 )  
  203.   
  204.            ,'1'=> Array(  
  205.                    'user_id'=> 41248  
  206.                    ,'asid'=> 28  
  207.                    ,'bsid'=> Array( '0'=> 26 )  
  208.                    ,'harm'=> Array('0'=> 1650)  
  209.                    ,'dhp'=> Array('0'=> 2019  )  
  210.                    ,'attacker_anger'=> 66  
  211.                    ,'defender_anger'=> Array('0'=> 94 )  
  212.                    ,'skill'=> 0  
  213.                    ,'state'=> 0  
  214.                 )  
  215.   
  216.            ,'2'=> Array(  
  217.                    'user_id'=> 41248  
  218.                    ,'asid'=> 28  
  219.                    ,'bsid'=> Array( '0'=> 26 )  
  220.                    ,'harm'=> Array('0'=> 1650)  
  221.                    ,'dhp'=> Array('0'=> 2019  )  
  222.                    ,'attacker_anger'=> 66  
  223.                    ,'defender_anger'=> Array('0'=> 94 )  
  224.                    ,'skill'=> 0  
  225.                    ,'state'=> 0  
  226.                 )  
  227.            ,'3'=> Array(  
  228.                    'user_id'=> 41248  
  229.                    ,'asid'=> 28  
  230.                    ,'bsid'=> Array( '0'=> 26 )  
  231.                    ,'harm'=> Array('0'=> 1650)  
  232.                    ,'dhp'=> Array('0'=> 2019  )  
  233.                    ,'attacker_anger'=> 66  
  234.                    ,'defender_anger'=> Array('0'=> 94 )  
  235.                    ,'skill'=> 0  
  236.                    ,'state'=> 0  
  237.                 )  
  238.   
  239.            ,'4'=> Array(  
  240.                    'user_id'=> 41248  
  241.                    ,'asid'=> 28  
  242.                    ,'bsid'=> Array( '0'=> 26 )  
  243.                    ,'harm'=> Array('0'=> 1650)  
  244.                    ,'dhp'=> Array('0'=> 2019  )  
  245.                    ,'attacker_anger'=> 66  
  246.                    ,'defender_anger'=> Array('0'=> 94 )  
  247.                    ,'skill'=> 0  
  248.                    ,'state'=> 0  
  249.                 )  
  250.            ,'5'=> Array(  
  251.                    'user_id'=> 41248  
  252.                    ,'asid'=> 28  
  253.                    ,'bsid'=> Array( '0'=> 26 )  
  254.                    ,'harm'=> Array('0'=> 1650)  
  255.                    ,'dhp'=> Array('0'=> 2019  )  
  256.                    ,'attacker_anger'=> 66  
  257.                    ,'defender_anger'=> Array('0'=> 94 )  
  258.                    ,'skill'=> 0  
  259.                    ,'state'=> 0  
  260.                 )  
  261.   
  262.            ,'6'=> Array(  
  263.                    'user_id'=> 41248  
  264.                    ,'asid'=> 28  
  265.                    ,'bsid'=> Array( '0'=> 26 )  
  266.                    ,'harm'=> Array('0'=> 1650)  
  267.                    ,'dhp'=> Array('0'=> 2019  )  
  268.                    ,'attacker_anger'=> 66  
  269.                    ,'defender_anger'=> Array('0'=> 94 )  
  270.                    ,'skill'=> 0  
  271.                    ,'state'=> 0  
  272.                 )  
  273.   
  274.            ,'7'=> Array(  
  275.                    'user_id'=> 41248  
  276.                    ,'asid'=> 28  
  277.                    ,'bsid'=> Array( '0'=> 26 )  
  278.                    ,'harm'=> Array('0'=> 1650)  
  279.                    ,'dhp'=> Array('0'=> 2019  )  
  280.                    ,'attacker_anger'=> 66  
  281.                    ,'defender_anger'=> Array('0'=> 94 )  
  282.                    ,'skill'=> 0  
  283.                    ,'state'=> 0  
  284.                 )  
  285.            ,'8'=> Array(  
  286.                    'user_id'=> 41248  
  287.                    ,'asid'=> 28  
  288.                    ,'bsid'=> Array( '0'=> 26 )  
  289.                    ,'harm'=> Array('0'=> 1650)  
  290.                    ,'dhp'=> Array('0'=> 2019  )  
  291.                    ,'attacker_anger'=> 66  
  292.                    ,'defender_anger'=> Array('0'=> 94 )  
  293.                    ,'skill'=> 0  
  294.                    ,'state'=> 0  
  295.                 )  
  296.   
  297.            ,'9'=> Array(  
  298.                    'user_id'=> 41248  
  299.                    ,'asid'=> 28  
  300.                    ,'bsid'=> Array( '0'=> 26 )  
  301.                    ,'harm'=> Array('0'=> 1650)  
  302.                    ,'dhp'=> Array('0'=> 2019  )  
  303.                    ,'attacker_anger'=> 66  
  304.                    ,'defender_anger'=> Array('0'=> 94 )  
  305.                    ,'skill'=> 0  
  306.                    ,'state'=> 0  
  307.                 )  
  308.            ,'10'=> Array(  
  309.                    'user_id'=> 41248  
  310.                    ,'asid'=> 28  
  311.                    ,'bsid'=> Array( '0'=> 26 )  
  312.                    ,'harm'=> Array('0'=> 1650)  
  313.                    ,'dhp'=> Array('0'=> 2019  )  
  314.                    ,'attacker_anger'=> 66  
  315.                    ,'defender_anger'=> Array('0'=> 94 )  
  316.                    ,'skill'=> 0  
  317.                    ,'state'=> 0  
  318.                 )  
  319.            ,'11'=> Array(  
  320.                    'user_id'=> 41248  
  321.                    ,'asid'=> 28  
  322.                    ,'bsid'=> Array( '0'=> 26 )  
  323.                    ,'harm'=> Array('0'=> 1650)  
  324.                    ,'dhp'=> Array('0'=> 2019  )  
  325.                    ,'attacker_anger'=> 66  
  326.                    ,'defender_anger'=> Array('0'=> 94 )  
  327.                    ,'skill'=> 0  
  328.                    ,'state'=> 0  
  329.                 )  
  330.   
  331.            ,'12'=> Array(  
  332.                    'user_id'=> 41248  
  333.                    ,'asid'=> 28  
  334.                    ,'bsid'=> Array( '0'=> 26 )  
  335.                    ,'harm'=> Array('0'=> 1650)  
  336.                    ,'dhp'=> Array('0'=> 2019  )  
  337.                    ,'attacker_anger'=> 66  
  338.                    ,'defender_anger'=> Array('0'=> 94 )  
  339.                    ,'skill'=> 0  
  340.                    ,'state'=> 0  
  341.                 )  
  342.            ,'13'=> Array(  
  343.                    'user_id'=> 41248  
  344.                    ,'asid'=> 28  
  345.                    ,'bsid'=> Array( '0'=> 26 )  
  346.                    ,'harm'=> Array('0'=> 1650)  
  347.                    ,'dhp'=> Array('0'=> 2019  )  
  348.                    ,'attacker_anger'=> 66  
  349.                    ,'defender_anger'=> Array('0'=> 94 )  
  350.                    ,'skill'=> 0  
  351.                    ,'state'=> 0  
  352.                 )  
  353.            ,'14'=> Array(  
  354.                    'user_id'=> 41248  
  355.                    ,'asid'=> 28  
  356.                    ,'bsid'=> Array( '0'=> 26 )  
  357.                    ,'harm'=> Array('0'=> 1650)  
  358.                    ,'dhp'=> Array('0'=> 2019  )  
  359.                    ,'attacker_anger'=> 66  
  360.                    ,'defender_anger'=> Array('0'=> 94 )  
  361.                    ,'skill'=> 0  
  362.                    ,'state'=> 0  
  363.                 )  
  364.   
  365.            ,'15'=> Array(  
  366.                    'user_id'=> 41248  
  367.                    ,'asid'=> 28  
  368.                    ,'bsid'=> Array( '0'=> 26 )  
  369.                    ,'harm'=> Array('0'=> 1650)  
  370.                    ,'dhp'=> Array('0'=> 2019  )  
  371.                    ,'attacker_anger'=> 66  
  372.                    ,'defender_anger'=> Array('0'=> 94 )  
  373.                    ,'skill'=> 0  
  374.                    ,'state'=> 0  
  375.                 )  
  376.            ,'16'=> Array(  
  377.                    'user_id'=> 41248  
  378.                    ,'asid'=> 28  
  379.                    ,'bsid'=> Array( '0'=> 26 )  
  380.                    ,'harm'=> Array('0'=> 1650)  
  381.                    ,'dhp'=> Array('0'=> 2019  )  
  382.                    ,'attacker_anger'=> 66  
  383.                    ,'defender_anger'=> Array('0'=> 94 )  
  384.                    ,'skill'=> 0  
  385.                    ,'state'=> 0  
  386.                 )  
  387.            ,'17'=> Array(  
  388.                    'user_id'=> 41248  
  389.                    ,'asid'=> 28  
  390.                    ,'bsid'=> Array( '0'=> 26 )  
  391.                    ,'harm'=> Array('0'=> 1650)  
  392.                    ,'dhp'=> Array('0'=> 2019  )  
  393.                    ,'attacker_anger'=> 66  
  394.                    ,'defender_anger'=> Array('0'=> 94 )  
  395.                    ,'skill'=> 0  
  396.                    ,'state'=> 0  
  397.                 )  
  398.   
  399.            ,'18'=> Array(  
  400.                    'user_id'=> 41248  
  401.                    ,'asid'=> 28  
  402.                    ,'bsid'=> Array( '0'=> 26 )  
  403.                    ,'harm'=> Array('0'=> 1650)  
  404.                    ,'dhp'=> Array('0'=> 2019  )  
  405.                    ,'attacker_anger'=> 66  
  406.                    ,'defender_anger'=> Array('0'=> 94 )  
  407.                    ,'skill'=> 0  
  408.                    ,'state'=> 0  
  409.                 )  
  410.            ,'19'=> Array(  
  411.                    'user_id'=> 41248  
  412.                    ,'asid'=> 28  
  413.                    ,'bsid'=> Array( '0'=> 26 )  
  414.                    ,'harm'=> Array('0'=> 1650)  
  415.                    ,'dhp'=> Array('0'=> 2019  )  
  416.                    ,'attacker_anger'=> 66  
  417.                    ,'defender_anger'=> Array('0'=> 94 )  
  418.                    ,'skill'=> 0  
  419.                    ,'state'=> 0  
  420.                 )  
  421.   
  422.            ,'20'=>Array(  
  423.                    'user_id'=> 41248  
  424.                    ,'asid'=> 28  
  425.                    ,'bsid'=> Array( '0'=> 26 )  
  426.                    ,'harm'=> Array('0'=> 1650)  
  427.                    ,'dhp'=> Array('0'=> 2019  )  
  428.                    ,'attacker_anger'=> 66  
  429.                    ,'defender_anger'=> Array('0'=> 94 )  
  430.                    ,'skill'=> 0  
  431.                    ,'state'=> 0  
  432.                 )  
  433.         )  
  434.   
  435. );  
  436.   
  437.    
  438. $json = json_encode($target);  
  439. $seri = serialize($target);  
  440.   
  441. echo "json :" , strlen($json) ,'<br/>';  
  442. echo "serialize :"strlen($seri) ,'<br/>';  
  443.   
  444. $stime = microtime(true);  
  445. for ($i = 0; $i < 10000; $i ++) {  
  446.     json_encode($target);  
  447. }  
  448. $etime = microtime(true);  
  449.   
  450. echo "json_encode :", ($etime - $stime) ,'<br/>';  
  451.   
  452. //----------------------------------  
  453.   
  454. $stime = microtime(true);  
  455. for ($i = 0; $i < 10000; $i ++) {  
  456.    json_decode($json,true);  
  457. }  
  458. $etime = microtime(true);  
  459.   
  460. echo "json_decode :", ($etime - $stime),'<br/>';  
  461.   
  462. //----------------------------------  
  463. $stime = microtime(true);  
  464. for ($i = 0; $i < 10000; $i ++) {  
  465.     serialize($target);  
  466. }  
  467. $etime = microtime(true);  
  468.   
  469. echo "serialize :", ($etime - $stime) ,'<br/>';  
  470.   
  471. //----------------------------------  
  472. $stime = microtime(true);  
  473. for ($i = 0; $i < 10000; $i ++) {  
  474.     unserialize($seri);  
  475. }  
  476. $etime = microtime(true);  
  477.   
  478. echo "unserialize :", ($etime - $stime),'<br/>';  
  479.   
  480. ?> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值