powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как правильно создать и считать коллекцию?
18 сообщений из 43, страница 2 из 2
Как правильно создать и считать коллекцию?
    #37677468
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvПоясните, почему использование xml-парсера для решения данной конкретной задачи лучше, чем регулярные выражения?
Вы можете написать регулярное выражение, которое разберет XML в один проход? Хотя бы в черновом варианте свою идею продемонстрируйте. Закрывающие теги чем определять?
А если XML без переноса строк?
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677488
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для андроида рекомендуемый формат обмена данными json. а дальше как хотите. если очень хочется, можно и soap/xml гонять.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677508
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
з.ы. про Protocol Buffers не знал, надо пощупать.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677518
redsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Trogloditredsky- и в моём случае прирост в 4 раза
4. У меня файл размером в 700Kb., т.е. в памяти он занимал приблизительно столько же и ради прироста скорости и поменял парсер. Если бы файл был 30 метров, конечно бы отказался от этой затеи.
В данном примере вы не использовали sax,соответственно сравнение неуместно. То , что DOM тормозной и прожорливый-это не секрет.Как я понял Simple XML использует подход SAXa. DOM я не использовал. VTD - не DOM, хоть память и юзает. А потратить 600Kb памяти ради такого прироста стоят того.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677523
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczВы можете написать регулярное выражение, которое разберет XML в один проход? Хотя бы в черновом варианте свою идею продемонстрируйте. Закрывающие теги чем определять?
А если XML без переноса строк?
Зачем в этой задаче определять закрывающие тэги? Я бы относился к файлу просто как к файлу заданной структуры.
Код: java
1.
  <Item A="(.*?)" B="(.*?)" C="(.*?)" />


И вперед по тексту find делать. С правильными флагами переносы строк и прочее будут несущественными.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677568
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Blazkowicz
Я согласен, что JSON более экономичен в размере, но если запаковать в архив, эта разница нивелируется.
Вот, что я нашел у IBM
Хотя разбор JSON гораздо проще с точки зрения программирования, это дается не даром. Добавляется память, в которую до начала обработки считывается весь поток данных и где затем хранятся все данные. Подход же SAX XML использует только те данные, который действительно представляют интерес. Это не важно, если памяти для разбора объекта JSON много; в этом случае данный подход может быть предпочтительным для многих приложений, особенно если не нужно работать с DOM.
Т.е. держать весь объем в памяти (особенно если он несколько десятков мегабайт) IMHO недопустимо, если ресурсы ограничены, плюс xml-тип присутствует во многих СУБД, что позволяет обратывать данные нативно в ХП.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677605
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Troglodit
у чувака андроид. откуда возьмутся объекты подлежащие сериализации размером в десятки!!! мегабайт?
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677695
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidv
Код: java
1.
  <Item A="(.*?)" B="(.*?)" C="(.*?)" />



И кто гарантирует порядок атрибутов?
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677700
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TrogloditЯ согласен, что JSON более экономичен в размере, но если запаковать в архив, эта разница нивелируется.

Не только в размере, но и в нагрузке при сериализации.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677727
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczLeonidv
Код: java
1.
  <Item A="(.*?)" B="(.*?)" C="(.*?)" />



И кто гарантирует порядок атрибутов?
Тот кто формирует файл (я так понял, что это автор и есть)? Можно решать абстрактные задачи, а можно конкретные. Если порядок атрибутов не гарантируется, то справимся 2 другими регвырами.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677729
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Двумя не справимся. Тремя.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677731
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И тремя тоже. Хотя можно и двумя тогда.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677738
redsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvBlazkowiczпропущено...

И кто гарантирует порядок атрибутов?
Тот кто формирует файл (я так понял, что это автор и есть)? Можно решать абстрактные задачи, а можно конкретные. Если порядок атрибутов не гарантируется, то справимся 2 другими регвырами.Нет. Не я.
BlazkowiczTrogloditЯ согласен, что JSON более экономичен в размере, но если запаковать в архив, эта разница нивелируется.

Не только в размере, но и в нагрузке при сериализации. В заключении статьи на сайте IBM сказано: "По сравнению с подходом JSON, подход XML несколько быстрее и менее прожорлив на память – но за счет повышенной сложности."
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677760
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redsky"По сравнению с подходом JSON, подход XML несколько быстрее и менее прожорлив на память – но за счет повышенной сложности."
Как и в случае с XML, парсеры для JSON бывают разные
http://code.google.com/p/json-benchmark/wiki/AndroidBenchmarks
Автор статьи сам пишет что парсер не удачный, всё стразу считывает.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677817
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chpashaу чувака андроид. откуда возьмутся объекты подлежащие сериализации размером в десятки!!! мегабайт?
а никто про сериализацию в несколько мегабайт не говорил. ТС хотел все данные из XML поместить в БД. При последовательном разборе xml объем файла скорость обработки практически линейная.
ЗЫ. А что несколько десятков мегабайт -это много? 21 век на дворе.

2Blazkowicz
я вполне допускаю,что обработка сферического JSON быстрее cферического XML , но если JSON в обязаловку ВЕСЬ храниться в памяти, то я буду юзать xml и не бояться наткнуться на out of memory.Повторяю самый главный плюс xml валидация документа. Используя схемы все просто и понятно, опять же не надо городить велосипед по проверке корректности данных.Небольшой плюс -это подпись данных, не знаю может в JSON тоже есть,ну и XPath добавляет свои плюшки.
Для обработки пары килобайт действительно XML громоздкий.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677820
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Trogloditно если JSON в обязаловку ВЕСЬ храниться в памяти
При чем здесь JSON??? Там парсер кривой использовался. Как и с вариантом XML вместо родного парсера, берется быстрый и проблема решается.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677825
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Trogloditа никто про сериализацию в несколько мегабайт не говорил
неужели?

TrogloditТ.е. держать весь объем в памяти (особенно если он несколько десятков мегабайт)

TrogloditЗЫ. А что несколько десятков мегабайт -это много? 21 век на дворе.
товарищ, вы ключевое слово андроид принципиально в игнор поставили. в ваших краях уже безлимитный мобильный интернет? в наших пока 200-500мб, а потом торможение до gprs. так что 21 век еще немного подождет.
...
Рейтинг: 0 / 0
Как правильно создать и считать коллекцию?
    #37677834
redsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Други, вопрос темы закрыт. Спасибо забыл ник :)

А обсуждение выбора парсера, формата передачи данных и особенностей программирования под Android в вопрос темы не входит ;)
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Как правильно создать и считать коллекцию?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]