2010-11-26 60 views
2

速度更快?任何thoguhts /基准?php json_decoding vs xml解析

+5

这是比较苹果和橘子。如果有的话,问题应该是哪一个更适合UseCase X?当要求基准时,为什么不自己做一些? – Gordon 2010-11-26 22:09:49

+0

同意** Gordon **,必须知道这个案子。但没有任何其他信息,我投JSON。 ;) – 2010-11-26 22:12:40

回答

5

json_decode()更快。没有讨论。但是,保证金只能基于特定的XML文档类型进行基准测试。 XML-RPC编组与JSON差不多,例如但无论如何,您必须决定要传输或保存的数据类型:

JSON适用于表示标量数据类型以及数组或对象。

XML是最重要的文档格式家族。您可以使用从任何编程语言序列化数据类型;但这不是它的目的。将XML视为文档微型数据库。

所以真的这是一个苹果书籍的比较。


@StaxMan:不科学的证据如下。请注意,如果使用次优伪数据结构,此示例已倾向于使用JSON。

$json = <<<END 
    [55, "text goes here", 0.1] 
END; 

$xml = <<<END 
<array> 
    <int>55</int> 
    <string>text goes here</string> 
    <float>0.1</float> 
</array> 
END; 

for ($i=0,$t=t(); $i<100000; $i++) { 
    json_decode($json); 
} 
echo "json ", t(-$t), "\n"; 

for ($i=0,$t=t(); $i<100000; $i++) { 
    simplexml_load_string($xml); 
} 
echo "xml ", t(-$t), "\n"; 

function t($t1=0) { 
    $a = explode(" ", microtime()); 
    return $a[0] + $a[1] + $t1; 
} 

结果:

json 1.6152667999268 
xml 2.9058270454407 

再次,非常nothingsaying。但这对于JSON来说是一个理论上的优势。