Ich beginne mit der Entwicklung einer Webanwendung in PHP, die hoffentlich unglaublich populär werden und mich berühmt und reich machen wird :-)
Wenn es soweit ist, könnte meine Entscheidung, ob ich die Daten der API mit SimpleXML als XML parse oder json_decode verwende, einen Unterschied in der Skalierbarkeit der Anwendung machen.
Weiß jemand, welcher dieser Ansätze für den Server effizienter ist?
Aktualisierung: Ich habe einen rudimentären Test durchgeführt, um zu sehen, welche Methode leistungsfähiger ist. Es scheint, dass json_decode
ist etwas schneller in der Ausführung als simplexml_load_string
. Das ist nicht sehr aussagekräftig, weil es Dinge wie die Skalierbarkeit von gleichzeitigen Prozessen nicht testet. Meine Schlussfolgerung ist, dass ich vorerst SimpleXML wegen seiner Unterstützung für XPath-Ausdrücke verwenden werde.
<?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>
Ergebnis:
XML elapsed: 9.9836
JSON elapsed: 8.3606