And*_*ges 7 php performance json scalability simplexml
我开始用PHP开发一个Web应用程序,我希望它会变得非常受欢迎并让我变得有名和丰富.:-)
如果到了这个时候,我决定是使用SimpleXML将API的数据解析为XML还是使用json_decode,这可能会对应用程序的可伸缩性产生影响.
有谁知道哪种方法对服务器更有效?
更新:我进行了一项初步测试,看看哪种方法效果更好.似乎json_decode执行速度略快于simplexml_load_string.这不是非常确定的,因为它不测试并发进程的可伸缩性之类的东西.我的结论是,我将暂时使用SimpleXML,因为它支持XPath表达式.
<?php
$xml = file_get_contents('sample.xml');
$json = file_get_contents('sample.js');
$iters = 1000;
// simplexml_load_string
$start_xml = microtime(true);
for ($i = 0; $i < $iters; ++$i) {
$obj = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
}
$end_xml = microtime(true);
// json_decode
$start_json = microtime(true);
for ($i = 0; $i < $iters; ++$i) {
$obj = json_decode($json);
}
$end_json = microtime(true);
?>
<pre>XML elapsed: <?=sprintf('%.4f', ($end_xml - $start_xml))?></pre>
<pre>JSON elapsed: <?=sprintf('%.4f', ($end_json - $start_json))?></pre>
Run Code Online (Sandbox Code Playgroud)
结果:
XML elapsed: 9.9836
JSON elapsed: 8.3606
Run Code Online (Sandbox Code Playgroud)
Ran*_*ndy 10
作为"更轻"的格式,我希望JSON在服务器上的压力稍微小一些,但我怀疑它会成为你自己处理的最大性能问题,因为你的网站越来越受欢迎.使用您更熟悉的格式.
或者,如果您知道如何构建数据,则可以尝试制作XML格式的版本和JSON格式的版本,然后针对您的设置运行几十万次,看看它是否会产生明显的差异.
| 归档时间: |
|
| 查看次数: |
3448 次 |
| 最近记录: |