JavaScript

Парсинг XML и JSON в браузерах. Что быстрее?

Потребовалось мне выбрать формат хранения данных для одной штуковины, которая работает на JavaScript. Для этого почти идеально подходит XML, но смущает одно "но": файлы будут большими, и есть опасения, что загрузка будет работать медленно. Так же поглядываю в сторону JSON, но нигде не нашел данных по сравнению скорости парсинга в современных браузерах.
Что из этих форматов современными браузерами парсится быстрее, и насколько быстрее?
тебе ничто не мешает самому провести такой опыт на своем компе в разных браузерах.

но есть два аргумента в пользу json:
- меньше букав - тупо читать поток быстрее
- в браузерах он стал популярен почти одновременно с xml, и поэтому средства для xml могли просто не успеть оптимизировать, а сосредоточиться на JSON.parse, раз он нужнее

есть и аргумент против:
- xml и средства для него появились тогда, когда прогеры не были так склонны к овер--инжинирингу и вроде должно быть быстрее.
но это слабый аргумент, если учесть, что в браузерах, кроме IE и safari, дольше всех сохраняется традиция оптимизировать код, и наверчивают архитектуры там без вреда быстродействию.
Берик Жетписбаев
Берик Жетписбаев
295
Лучший ответ
Быстродействие в основном зависит от двух факторов:
• эффективность архитектурного решения
• рукожопие программиста, реализовавшего это решение
Назови две пары значений этих факторов (парсинга XML, и парсинга JSON) в единой шкале - тогда можно будет ответить, что из них будет быстрее.

Без этой инфы, с уверенностью можно сказать только одно: учитывая то что "файлы будут большими", твой проектик обречен втухать, т. к. в его основе уже допущена как минимум одна фундаментальная ошибка (а где одна, там вторая, и так далее). Вот чисто ради прикола, почитай о том зачем вообще нужны REST и GraphQL - не о том как они технически задуманы, а о том какие задачи решают (нафига их вообще используют, когда можно клиенту сразу всю инфу с сервера сгрузить, тупо одним мегакуском без веб-апи прослоек).
Asalam Aleikum
Asalam Aleikum
99 309
Александр Борисов >учитывая то что "файлы будут большими", твой проектик обречен втухать, т. к. в его основе уже допущена как минимум одна фундаментальная ошибка (а где одна, там вторая, и так далее).
Это особенность самих исходных данных, а не формата, в который мне нужно их завернуть. Причем здесь REST, я вообще не понял.
Вопрос был про парсинг, а не передачу по сети (которой в данном случае вообще нет, ибо файл всегда на локальной машине). Если бы я выбирал между REST и SOAP, я бы так и спросил.
В отладчике браузера есть вкладка таймлайна где логируются в том числе и парсинг и загрузка.

теперь она называется перфомансом
Саша Аринович
Саша Аринович
12 592
Думаю сам парсинг по скорости одинаковый; Выбрал бы то что генерирует меньший объем при одинаковых исходных данных
Usa & Usa
Usa & Usa
7 579
Александр Борисов У JSON объем немного меньше, но с ним надо городить дополнительные костыли в самом формате и в коде, который будет все это обрабатывать.
и то и то одинаково . вопрос как ты будешь их использовать