Страница 4 из 5
					
				Чисто гипотетически !
				Добавлено: 19 Июнь 2019, 12:55
				 Constantine
				Привет, Юра!
А с майкрософтовским парсером ты не игрался?
			 
			
					
				Чисто гипотетически !
				Добавлено: 19 Июнь 2019, 14:56
				 Yufil
				Привет, Костя!
Насколько мне известно, кларионовский парсер - это Expat, он тоже стандартный. Парсер целиком написан на сях и не нуждается во внешних интерфейсах. Зачем Microsoft?
			 
			
					
				Чисто гипотетически !
				Добавлено: 19 Июнь 2019, 15:08
				 Constantine
				Есть гигантская структура (ок. 1.5 Гб), состоящая из нескольких тысяч связанных между собой в цепочки xml-файлов разного размера (от 400 Кб до 100+ Мб). Ее нужно парсить, но не всю за раз, а по частям примерно по 500 Мб. Делать это нужно каждый месяц.
Соответственно, встает вопрос быстродействия. Сейчас сделано на С, но на кларионе было бы лучше. 
Поэтому и интересуюсь...
			 
			
					
				Чисто гипотетически !
				Добавлено: 19 Июнь 2019, 15:19
				 Дед Пахом
				Парсер Microsoft (msxml6) это 
EasyXML 
			
					
				Чисто гипотетически !
				Добавлено: 19 Июнь 2019, 15:23
				 Constantine
				Дед Пахом писал(а): 19 Июнь 2019, 15:19Парсер Microsoft (msxml6) это EasyXML
 
По сути, это dll-обертка над OLE. Вряд ли будет работать быстрее, чем напрямую...
 
			
					
				Чисто гипотетически !
				Добавлено: 19 Июнь 2019, 15:25
				 Дед Пахом
				Constantine писал(а): 19 Июнь 2019, 15:23По сути, это dll-обертка над OLE.
 
Это не dll-обертка над OLE, это просто COM dll с сотней COM объектов.
 
			
					
				Чисто гипотетически !
				Добавлено: 19 Июнь 2019, 15:28
				 Constantine
				Возможно. Не знаю. А кто-нибудь ее юзал на больших объемах?
			 
			
					
				Чисто гипотетически !
				Добавлено: 19 Июнь 2019, 15:49
				 Yufil
				Вряд ли скорость парсинга для MS и Expat сильно отличается ( коллега Aragorn мерил ). 
А померить достаточно просто. На любое кларионовское окно добавь кнопку, в качестве обработчика шаблон ViewXML 
и попробуй загрузить XML-файл. 
... А цепочки связанных xml-файлов это круто... Может быть, поюзать что-то более подходящее, чем Clarion ( Spark - R - Julia - Pandas )?
			 
			
					
				Чисто гипотетически !
				Добавлено: 19 Июнь 2019, 15:54
				 Дед Пахом
				Constantine писал(а): 19 Июнь 2019, 15:28А кто-нибудь ее юзал на больших объемах?
 
Google в помощь.
 
			
					
				Чисто гипотетически !
				Добавлено: 19 Июнь 2019, 15:56
				 Constantine
				Уже юзается... Есть софтина на С, которая извлекает нужные данные и кладет их в общую область памяти, из которой я их и забираю. Проблема в том, что это нужно синхронизировать (т.е. нужно отлавливать момент окончания записи, а уже потом читать). Вторая проблема в том, что пишет она в своем формате, который потом тоже нужно разбирать. В итоге, процесс занимает 3-4 часа. Хотелось бы ускорить... 

 
			
					
				Чисто гипотетически !
				Добавлено: 19 Июнь 2019, 16:17
				 finsoftrz
				Цепочки xml файлов - это, случаем, не ОДА (
http://oda.su) ?  Там вместо обычной базы xml. Наследование. Парсер на C. Помнится, лет 10 назад мне их вождь в частной беседе мозг выносил. Отмирающие файлы, как клетки головного мозга. Ms и Oracle вели исследования в этом направлении, у них не получилось, а у нас получилось. В общем, ощущение было, как к фрицам в лабораторию попал... 

 
			
					
				Чисто гипотетически !
				Добавлено: 20 Июнь 2019, 8:15
				 Constantine
				Нет, не оно. Там большая буржуйская софтина, которая занимается чем-то вроде обработки строительных смет. Она-то и выгружает данные в таком виде.
			 
			
					
				Чисто гипотетически !
				Добавлено: 20 Июнь 2019, 8:25
				 Игорь Столяров
				Constantine писал(а): 20 Июнь 2019, 8:15Там большая буржуйская софтин
 
И эта "буржуйская софтина" выгружает XML в кодировке Win-1251 ?!
Чудны дела рук детей твоих, господи … 

 
			
					
				Чисто гипотетически !
				Добавлено: 20 Июнь 2019, 8:56
				 Constantine
				Гм...
Это связанные вещи, но я этого не говорил...
Есть задача: ускорить обработку больших xml-файлов. Для этого нужно что-то написать на кларионе. Очевидно, что штука получится большая и серьезная, поэтому логично применять ее и для решения других задач, связанных с обработкой xml. А для этого нужна нормальная поддержка win1251.
Что вызвало Ваше удивление?
			 
			
					
				Чисто гипотетически !
				Добавлено: 20 Июнь 2019, 9:19
				 Yufil
				Я в модуле cpxml.dll шестнадцатеричным редактором правил строку ( могу и ошибаться ) windows-1250 на windows-1251. Тоже работает, правда только с файлами, из памяти не... Но потом разобрался с UTF-8 и отказался от этой идеи