Вопрос

Используя groovy, ожидаете ли вы повышения производительности с точки зрения скорости и затрат памяти при чтении и запросе JSON против XML?

Это было полезно?

Решение

JSON меньше и проще, чем XML. Держу пари, что JSON быстрее разбирается.

YAML будет еще быстрее.

Другие советы

Если бы скорость действительно была проблемой, я бы предпочел использовать библиотеку java для анализа всего, что я хочу, чем полагаться на реализацию Groovy.

Если это та же схема и та же информация, использование памяти будет практически одинаковым. Производительность должна быть незначительной между двумя.

Я полагаю, что разница в производительности была бы необнаружима ни для чего, кроме профилировщика, если схема и данные совпадают. Тем не менее, вы могли увидеть большую разницу, если бы использовали неправильный XML-парсер. Другими словами, реализация SAX может легко соответствовать или, возможно, превосходить синтаксический анализ JSON. Есть много внешних факторов для cinsider. Если вы хотите правдивую историю, добавьте как JSON, так и SAX-анализатор в одни и те же данные / схему без дополнительной логики. Большая экономия происходит от логики, используемой для интерпретации разбора. В зависимости от ваших требований может быть проще использовать DOM или синтаксический анализатор, в то время как SAx вызовет слишком сложное неэффективное решение. Также есть заметные различия между парсерами. Добавьте переменную размера файла, и вы быстро потеряете область измерения. Другой пример: если ваш XML содержит описания DTD и ссылки на сущности, которые должны быть разрешены по проводной связи, а сетевое соединение имеет высокую задержку, вы можете увидеть улучшения с JSON. Все сводится к тому, что вы действительно пытаетесь сделать.

XML имеет немного больше накладных расходов, чем JSON, из-за угловых скобок и дополнительной информации, а что нет. По этой причине любой хороший анализатор должен иметь возможность анализировать JSON быстрее, чем XML.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top