Чисто гипотетически !

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Constantine
Активист
Сообщения: 185
Зарегистрирован: 07 Февраль 2017, 16:58

Чисто гипотетически !

Сообщение Constantine »

Привет, Юра!
А с майкрософтовским парсером ты не игрался?
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Чисто гипотетически !

Сообщение Yufil »

Привет, Костя!
Насколько мне известно, кларионовский парсер - это Expat, он тоже стандартный. Парсер целиком написан на сях и не нуждается во внешних интерфейсах. Зачем Microsoft?
Constantine
Активист
Сообщения: 185
Зарегистрирован: 07 Февраль 2017, 16:58

Чисто гипотетически !

Сообщение Constantine »

Есть гигантская структура (ок. 1.5 Гб), состоящая из нескольких тысяч связанных между собой в цепочки xml-файлов разного размера (от 400 Кб до 100+ Мб). Ее нужно парсить, но не всю за раз, а по частям примерно по 500 Мб. Делать это нужно каждый месяц.
Соответственно, встает вопрос быстродействия. Сейчас сделано на С, но на кларионе было бы лучше.
Поэтому и интересуюсь...
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Чисто гипотетически !

Сообщение Дед Пахом »

Парсер Microsoft (msxml6) это EasyXML
С уважением, ДП
Constantine
Активист
Сообщения: 185
Зарегистрирован: 07 Февраль 2017, 16:58

Чисто гипотетически !

Сообщение Constantine »

Дед Пахом писал(а): 19 Июнь 2019, 15:19Парсер Microsoft (msxml6) это EasyXML
По сути, это dll-обертка над OLE. Вряд ли будет работать быстрее, чем напрямую...
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Чисто гипотетически !

Сообщение Дед Пахом »

Constantine писал(а): 19 Июнь 2019, 15:23По сути, это dll-обертка над OLE.
Это не dll-обертка над OLE, это просто COM dll с сотней COM объектов.
С уважением, ДП
Constantine
Активист
Сообщения: 185
Зарегистрирован: 07 Февраль 2017, 16:58

Чисто гипотетически !

Сообщение Constantine »

Возможно. Не знаю. А кто-нибудь ее юзал на больших объемах?
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Чисто гипотетически !

Сообщение Yufil »

Вряд ли скорость парсинга для MS и Expat сильно отличается ( коллега Aragorn мерил ).
А померить достаточно просто. На любое кларионовское окно добавь кнопку, в качестве обработчика шаблон ViewXML
и попробуй загрузить XML-файл.

... А цепочки связанных xml-файлов это круто... Может быть, поюзать что-то более подходящее, чем Clarion ( Spark - R - Julia - Pandas )?
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Чисто гипотетически !

Сообщение Дед Пахом »

Constantine писал(а): 19 Июнь 2019, 15:28А кто-нибудь ее юзал на больших объемах?
Google в помощь.
С уважением, ДП
Constantine
Активист
Сообщения: 185
Зарегистрирован: 07 Февраль 2017, 16:58

Чисто гипотетически !

Сообщение Constantine »

Уже юзается... Есть софтина на С, которая извлекает нужные данные и кладет их в общую область памяти, из которой я их и забираю. Проблема в том, что это нужно синхронизировать (т.е. нужно отлавливать момент окончания записи, а уже потом читать). Вторая проблема в том, что пишет она в своем формате, который потом тоже нужно разбирать. В итоге, процесс занимает 3-4 часа. Хотелось бы ускорить... :-)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

Чисто гипотетически !

Сообщение finsoftrz »

Цепочки xml файлов - это, случаем, не ОДА (http://oda.su) ? Там вместо обычной базы xml. Наследование. Парсер на C. Помнится, лет 10 назад мне их вождь в частной беседе мозг выносил. Отмирающие файлы, как клетки головного мозга. Ms и Oracle вели исследования в этом направлении, у них не получилось, а у нас получилось. В общем, ощущение было, как к фрицам в лабораторию попал... :-)
C6/C11, ШВС, tps/btrieve.
Constantine
Активист
Сообщения: 185
Зарегистрирован: 07 Февраль 2017, 16:58

Чисто гипотетически !

Сообщение Constantine »

Нет, не оно. Там большая буржуйская софтина, которая занимается чем-то вроде обработки строительных смет. Она-то и выгружает данные в таком виде.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Чисто гипотетически !

Сообщение Игорь Столяров »

Constantine писал(а): 20 Июнь 2019, 8:15Там большая буржуйская софтин
И эта "буржуйская софтина" выгружает XML в кодировке Win-1251 ?!
Чудны дела рук детей твоих, господи … :)
За теми кто отстал - не возвращаться. (С) Кодекс
Constantine
Активист
Сообщения: 185
Зарегистрирован: 07 Февраль 2017, 16:58

Чисто гипотетически !

Сообщение Constantine »

Гм...
Это связанные вещи, но я этого не говорил...
Есть задача: ускорить обработку больших xml-файлов. Для этого нужно что-то написать на кларионе. Очевидно, что штука получится большая и серьезная, поэтому логично применять ее и для решения других задач, связанных с обработкой xml. А для этого нужна нормальная поддержка win1251.
Что вызвало Ваше удивление?
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Чисто гипотетически !

Сообщение Yufil »

Я в модуле cpxml.dll шестнадцатеричным редактором правил строку ( могу и ошибаться ) windows-1250 на windows-1251. Тоже работает, правда только с файлами, из памяти не... Но потом разобрался с UTF-8 и отказался от этой идеи
Ответить