Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Владимир2012Предлагаю это main xml и подчиненные xml хранить в zip файле. наконец то )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 16:28 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Изопропилну а к чему упражнения с параллельным парсингом тогда?Для того чтобы любители xml радовались и говорили как у них все круто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 16:28 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Изопропилнаконец то ))Вы все знали и ждали пока мы догадаемся? Круто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 16:30 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Владимир2012Изопропилнаконец то ))Вы все знали и ждали пока мы догадаемся? Круто. задачу парсинга то решали, а не хранения и передачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 16:35 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Изопропилзадачу парсинга то решали, а не хранения и передачиzip пригодится как для хранения и передачи, так и будет являться контейнером big xml представленным в виде набора подчиненных xml-s. Пожалуй даже отпадет необходимость в понятии main xml, содержащего данные об подчиненных xml. По той простой причине, что xml-s будут иметь числовой префикс порядка их следования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 16:44 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
ИзопропилSAX парсер Можно же еще быстрее. Например XmlReader в C# у меня парсит 48 Мб за 2.1 сек. Если тупо прогнать цикл с подсчетом количества тэгов получается 0.3 сек. Читать блоками по 32 К - 0.01 сек. Что-то параллелить с использованием XmlReader не очень получается. А с самодельным предварительным разбором можно было бы распараллелить и вместо 2.1 сек получить меньше 1 сек. Хотя и так устраивает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 16:47 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Dima TЧто-то параллелить с использованием XmlReader не очень получается. А с самодельным предварительным разбором можно было бы распараллелить и вместо 2.1 сек получить меньше 1 сек. Хотя и так устраивает.Ну может быть кто-нибудь и реализует то, что мы обсуждаем. Не исключаю, что в свою library для работы с xml включу возможность как создания логических блоков ..., так и параллельный парсинг, ... /а программисту решать использовать или нет/. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 16:57 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Dima TИсходный файл парсить не XML-парсерами, а просто как файл, самодельным парсером, блоками по 32 К (одного буфера достаточно): прочитали, разобрали как текст, сбросили буфер в конечный файл. В результате имеем невалидный XML в файлах и оверхэд по вводу-выводу. В морг. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 17:00 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovDima TИсходный файл парсить не XML-парсерами, а просто как файл, самодельным парсером, блоками по 32 К (одного буфера достаточно): прочитали, разобрали как текст, сбросили буфер в конечный файл. В результате имеем невалидный XML в файлах и оверхэд по вводу-выводу. В морг. Файл получится валидный, про валидность было в конце того поста, откуда ты этот кусок вырезал. Оверхэд не критичен, т.к. IO намного быстрее разбора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 17:50 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Владимир2012Dima TЧто-то параллелить с использованием XmlReader не очень получается. А с самодельным предварительным разбором можно было бы распараллелить и вместо 2.1 сек получить меньше 1 сек. Хотя и так устраивает.Ну может быть кто-нибудь и реализует то, что мы обсуждаем. Не исключаю, что в свою library для работы с xml включу возможность как создания логических блоков ..., так и параллельный парсинг, ... /а программисту решать использовать или нет/. ИМХУ задача штучная поэтому решения должны быть штучными, поэтому нет смыла делать какую-то универсальную либу для решения уникальных задач. Обычно гигабайты в XML никто не передает, для таких случаев есть другие варианты. Касаемо приведенных цифр - это реальная стыковка с конкретной чужой системой и там размер XML ограничен не мной, а писателем, им сложно писать больше разом, сами попросили адаптировать прием под несколько файлов, вместо одного большого (200+ Мб) т.к. у них при генерации в один XML все падает. Они пишут медленнее чем я обрабатываю, поэтому ускорять нечего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 18:02 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Dima TЕсли тупо прогнать цикл с подсчетом количества тэгов получается 0.3 сек. entity коды АСПушкин будет обрабатывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 18:21 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
ИзопропилDima TЕсли тупо прогнать цикл с подсчетом количества тэгов получается 0.3 сек. entity коды АСПушкин будет обрабатывать? Это ты о чем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 19:10 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Всем господам которые предлагают делать кастомные парсеры которые бегают с середины файла или каким-то другим образом ломают поток xml-контента. Это не летает! XML в общем случае нельзя резать! Хедер несет важную информацию о xml-schema, xml-entities, а также сведения о кодовой странице e.t.c. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 20:46 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Владимир2012, интересный пост тут и тут недавно вышел, там очень познавательно про чтение с диска описано Имхо, не надо никаких потоков грузим поочерёдно в два буфера, пока грузится следущий парсим предыдущий - обычные OVERLAPPED операции и лучше SAX конечно использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 20:50 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Dima TИзопропилпропущено... entity коды АСПушкин будет обрабатывать? Это ты о чем? перед написанием парсера крайне желательно ознакомиться со спецификацией формата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 20:59 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
У меня знания в области права такие же как у балерины по тяжелой атлетики. Поэтому просьба дать ответ на кое-какие вопросы. Ну вот скажем осилю и доведу до production а-ля MSXML libraries. Если разместить на github будет ли на меня "наезжать" Microsoft? C++ код мой /доработанный TinyXML2 и очень существенно/, но API то не мой. Так как TinyXML2 превратился в а-ля MSXML, то не будет возражать автор этой библиотеки против такого произвола? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 23:57 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Владимир2012Так как TinyXML2 превратился в а-ля MSXML, то не будет возражать автор этой библиотеки против такого произвола? До тех пор пока ты не зарабатываешь на нем деньги - всем будет пофиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 00:17 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Я не совсем понял, а в чем собственно проблема параллельно парсить разные куски файла? Для этого требуется стандартный парсер XML поддерживающий абстрактные источники данных (например std::istream), и написать адаптер который из любой заданной позиции файла находит первый тег, и оттуда начинает скармливать парсеру данные до определенного предела. Ну и добавить обработку обрезков попадающих в разные секции. Естественно, XML данные должны иметь регулярную структуру для этого - быть наборами однотипных тегов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 01:01 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Топик превращяется в зыбкое болото. Я-бы мог еще поспорить на тему КПД этого механизма но решительно лень да и автор поставил постановку весьма философскую дескыть сколько ангелов танцуют на иголочке или может ли господь поднять камень e.t.c. Вот и перекидываемся лениво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 01:17 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
maytonТопик превращяется в зыбкое болото. Я-бы мог еще поспорить на тему КПД этого механизма но решительно леньА зачем спорить? Просто выскажете свое мнение и при этом желательно объяснить его. ИМХНО - можно реализовать алгоритма параллельного парсинга. Вопрос только в одном - "Будет ли польза от этого?". Как по мне - да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 01:26 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Владимир2012maytonТопик превращяется в зыбкое болото. Я-бы мог еще поспорить на тему КПД этого механизма но решительно леньА зачем спорить? Просто выскажете свое мнение и при этом желательно объяснить его. ИМХНО - можно реализовать алгоритма параллельного парсинга. Вопрос только в одном - "Будет ли польза от этого?". Как по мне - да. Не будет пользы. Один уже пытался сделать самый быстрый в мире парсер: http://www.sql.ru/forum/1001189/proekt-apollosax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 10:11 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Владимир2012Вопрос только в одном - "Будет ли польза от этого?". Как по мне - да. пользы никакой , а вред конкретный - потеря времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 10:38 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Гм. Раньше использовал для работы "Msxml2.DOMDocument.4.0", а теперь TinyMSXML /шутка/. Все Ok! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 15:20 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
Владимир2012maytonТопик превращяется в зыбкое болото. Я-бы мог еще поспорить на тему КПД этого механизма но решительно леньА зачем спорить? Просто выскажете свое мнение и при этом желательно объяснить его. ИМХНО - можно реализовать алгоритма параллельного парсинга. Вопрос только в одном - "Будет ли польза от этого?". Как по мне - да. имхо, если есть утверждение, что парсинг медленнее загрузки с диска, то для начала стоит пройтись профайлером и выяснить, что конкретно тормозит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 15:56 |
|
||
|
Как распараллелить загрузку XML?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)имхо, если есть утверждение, что парсинг медленнее загрузки с диска, то для начала стоит пройтись профайлером и выяснить, что конкретно тормозитДа причем здесь это. Вопрос в другом. Вот скажем загрузили в memory xml размером 10MB. Что будет более эффективно. Парсить его в 1 потоке или параллельно в нескольких? У меня нет цели кому-то что-то доказывать. Вопрос чисто дискуссионный /и не более того/. PS: Хотя некоторые кто читает посты по диагонали справа на лево с пропуском "многострочных частей" начинают выдумывать некое свое видение в чем суть поста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 16:08 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39374807&tid=2018337]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 184ms |

| 0 / 0 |
