php json_decoding против парсинга xml

Что быстрее? Какие-нибудь тогухты / тесты?

1 ответ

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

Опять же, очень неосторожно. Но это теоретическое преимущество для JSON.

Другие вопросы по тегам