Потребовалось мне выбрать формат хранения данных для одной штуковины, которая работает на JavaScript. Для этого почти идеально подходит XML, но смущает одно "но": файлы будут большими, и есть опасения, что загрузка будет работать медленно. Так же поглядываю в сторону JSON, но нигде не нашел данных по сравнению скорости парсинга в современных браузерах.
Что из этих форматов современными браузерами парсится быстрее, и насколько быстрее?
JavaScript
Парсинг XML и JSON в браузерах. Что быстрее?
тебе ничто не мешает самому провести такой опыт на своем компе в разных браузерах.
но есть два аргумента в пользу json:
- меньше букав - тупо читать поток быстрее
- в браузерах он стал популярен почти одновременно с xml, и поэтому средства для xml могли просто не успеть оптимизировать, а сосредоточиться на JSON.parse, раз он нужнее
есть и аргумент против:
- xml и средства для него появились тогда, когда прогеры не были так склонны к овер--инжинирингу и вроде должно быть быстрее.
но это слабый аргумент, если учесть, что в браузерах, кроме IE и safari, дольше всех сохраняется традиция оптимизировать код, и наверчивают архитектуры там без вреда быстродействию.
но есть два аргумента в пользу json:
- меньше букав - тупо читать поток быстрее
- в браузерах он стал популярен почти одновременно с xml, и поэтому средства для xml могли просто не успеть оптимизировать, а сосредоточиться на JSON.parse, раз он нужнее
есть и аргумент против:
- xml и средства для него появились тогда, когда прогеры не были так склонны к овер--инжинирингу и вроде должно быть быстрее.
но это слабый аргумент, если учесть, что в браузерах, кроме IE и safari, дольше всех сохраняется традиция оптимизировать код, и наверчивают архитектуры там без вреда быстродействию.
Быстродействие в основном зависит от двух факторов:
• эффективность архитектурного решения
• рукожопие программиста, реализовавшего это решение
Назови две пары значений этих факторов (парсинга XML, и парсинга JSON) в единой шкале - тогда можно будет ответить, что из них будет быстрее.
Без этой инфы, с уверенностью можно сказать только одно: учитывая то что "файлы будут большими", твой проектик обречен втухать, т. к. в его основе уже допущена как минимум одна фундаментальная ошибка (а где одна, там вторая, и так далее). Вот чисто ради прикола, почитай о том зачем вообще нужны REST и GraphQL - не о том как они технически задуманы, а о том какие задачи решают (нафига их вообще используют, когда можно клиенту сразу всю инфу с сервера сгрузить, тупо одним мегакуском без веб-апи прослоек).
• эффективность архитектурного решения
• рукожопие программиста, реализовавшего это решение
Назови две пары значений этих факторов (парсинга XML, и парсинга JSON) в единой шкале - тогда можно будет ответить, что из них будет быстрее.
Без этой инфы, с уверенностью можно сказать только одно: учитывая то что "файлы будут большими", твой проектик обречен втухать, т. к. в его основе уже допущена как минимум одна фундаментальная ошибка (а где одна, там вторая, и так далее). Вот чисто ради прикола, почитай о том зачем вообще нужны REST и GraphQL - не о том как они технически задуманы, а о том какие задачи решают (нафига их вообще используют, когда можно клиенту сразу всю инфу с сервера сгрузить, тупо одним мегакуском без веб-апи прослоек).
В отладчике браузера есть вкладка таймлайна где логируются в том числе и парсинг и загрузка.
теперь она называется перфомансом
теперь она называется перфомансом
Думаю сам парсинг по скорости одинаковый; Выбрал бы то что генерирует меньший объем при одинаковых исходных данных
Александр Борисов
У JSON объем немного меньше, но с ним надо городить дополнительные костыли в самом формате и в коде, который будет все это обрабатывать.
и то и то одинаково . вопрос как ты будешь их использовать
Похожие вопросы
- Хочу изучить парсинг на js.
- Здравствуйте! помогите пожалуйста разобраться с заданием по JSON
- Помогите разобраться с каким-то странным JSON afqkjv. Не понимаю, каким должно быть имя поля Address.
- Зачем вообще нужны базы данных? Не лучше ли их хранить в файлах json?(вопрос может показаться глупым)
- Действительно ли sessionStorage удаляются данные после закрытия браузера?
- Google Chrome как уникальная программа (точнее браузер, хотя нет Google Chrome)
- Как сохранить переменную внутри браузера до следующей перезагрузки браузера ?
- Почему простые текстовые игры не пишут в браузере на javascript, используя другие решения
- кто виноват в том, что браузер с 5 "обычными" вкладками жрёт 600 мб? JavaScript (как Я. В. У.) такой ущербный или кодеры?
- Почему до сих пор нет расширения браузера которое бы шифровало сообщения ВКонтакте в белиберду?
Это особенность самих исходных данных, а не формата, в который мне нужно их завернуть. Причем здесь REST, я вообще не понял.
Вопрос был про парсинг, а не передачу по сети (которой в данном случае вообще нет, ибо файл всегда на локальной машине). Если бы я выбирал между REST и SOAP, я бы так и спросил.