Groovy парсинг JSON против XML
-
05-07-2019 - |
Вопрос
Используя groovy, ожидаете ли вы повышения производительности с точки зрения скорости и затрат памяти при чтении и запросе JSON против XML? Р>
Решение
JSON меньше и проще, чем XML. Держу пари, что JSON быстрее разбирается.
YAML будет еще быстрее.
Другие советы
Если бы скорость действительно была проблемой, я бы предпочел использовать библиотеку java для анализа всего, что я хочу, чем полагаться на реализацию Groovy.
Если это та же схема и та же информация, использование памяти будет практически одинаковым. Производительность должна быть незначительной между двумя.
Я полагаю, что разница в производительности была бы необнаружима ни для чего, кроме профилировщика, если схема и данные совпадают. Тем не менее, вы могли увидеть большую разницу, если бы использовали неправильный XML-парсер. Другими словами, реализация SAX может легко соответствовать или, возможно, превосходить синтаксический анализ JSON. Есть много внешних факторов для cinsider. Если вы хотите правдивую историю, добавьте как JSON, так и SAX-анализатор в одни и те же данные / схему без дополнительной логики. Большая экономия происходит от логики, используемой для интерпретации разбора. В зависимости от ваших требований может быть проще использовать DOM или синтаксический анализатор, в то время как SAx вызовет слишком сложное неэффективное решение. Также есть заметные различия между парсерами. Добавьте переменную размера файла, и вы быстро потеряете область измерения. Другой пример: если ваш XML содержит описания DTD и ссылки на сущности, которые должны быть разрешены по проводной связи, а сетевое соединение имеет высокую задержку, вы можете увидеть улучшения с JSON. Все сводится к тому, что вы действительно пытаетесь сделать.
XML имеет немного больше накладных расходов, чем JSON, из-за угловых скобок и дополнительной информации, а что нет. По этой причине любой хороший анализатор должен иметь возможность анализировать JSON быстрее, чем XML.