Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсинг XML 
:(
    Опции темы
Andrey44
Дата 18.5.2009, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: 2
Всего: 26



Цитата(Lazin @  18.5.2009,  08:05 Найти цитируемый пост)
очевидно, что ТС хочет обрабатывать документ по частям не загружая его в память целиком...

По моему 5 метров памяти в наше время - это скажем не много smile 


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
Lazin
Дата 18.5.2009, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



5Mb xml файл, это очень много
PM MAIL Skype GTalk   Вверх
Andrey44
Дата 18.5.2009, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: 2
Всего: 26



Цитата(Lazin @  18.5.2009,  09:20 Найти цитируемый пост)
5Mb xml файл, это очень много 

Да, не знал, извиняюсь.
Цитата

Для работы с объёмными XML документами надо использовать инструменты не использующие DOM.



--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 18.5.2009, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 12
Всего: 459



5 Мб это много для проца, а не для ОЗУ. Нужно создать огромное количество мелких объектов и выделить память под кучу строк. Сама операция создание маленького объекта или строки весьма медленная.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
xvr
Дата 18.5.2009, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Можно сделать trie дерево на switch'ах. Скорость будет максимальная, но вручную это писать - проще сразу застрелится  smile 
PM MAIL   Вверх
T0ohtik
Дата 18.5.2009, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 9.2.2008

Репутация: нет
Всего: 1



Цитата(azesmcar @ 15.5.2009,  22:50)
Цитата(T0ohtik @  15.5.2009,  22:47 Найти цитируемый пост)
Уже возникала такая идея...smile 
А каким образом можно посчитать когда оптимально использовать хэш таблицу? В моем случае примерно до 20 тэгов. 

вам скорость нужна или красота кода? т.е. чем вы недовольны на данный момент?

Ранее был не доволен скоростью, да и в принципе и красотой. Но "ларчик то просто открывался" В тестовом примере я использовал 2мб XML на компе MAC OS она распрасивалась за 2 минуты, при этом очень сильно нагружая проц. Далее было решено использовать NSDictionary - это аналог std::map, реализован он путем хэш функции. Время парсинга уменьшился примерное на 10 сек. Но перед уходом, я решил немного почистить код и убрал функцию логирования в консоль распрасеных строк и о чудо, XML'ка начала парсится примерно за 10 секундsmile Вот такая оптимизация вышла. И код красивый и поиск быстрый.
Всем спасибо кто ответил.
PM MAIL   Вверх
nikitos1980
Дата 10.7.2009, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 17.5.2008

Репутация: нет
Всего: нет



T0ohtik, Скажи пожалуйста, где ты качал исходники (проект) для компиляции libxml? Я скачал дистрибутив, но не могу скомпилить,файлов не хватает: ustring.h, config.h... ustring нашел а дальше все посыпалось...
Если можешь, кинь мне проект для libxml или пни ссылкой
Спасибо
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0967 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.