powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xsltproc 2,6+ Gb
6 сообщений из 6, страница 1 из 1
xsltproc 2,6+ Gb
    #39504103
Фотография jsmirnoww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бодрый день!

Нужно выполнить xslt преобразование для xml файла размером 2,6Gb. И это не предел размера. Запускаю под Ubuntu x86_64 ram 4Gb + 4Gb подкачка. Файлы в несколько сотен мегабайт отрабатывает быстро. 2,6 - думает около 3 минут и вылетает с сообщением "Убито" (линух русский стоит).

Прочитал как работает libxslt. Она парсит в ОЗУ исходный и xslt файлы, потом выполняет преобразование. Явно не нашёл, но, видимо, результат тоже в ОЗУ держит.

Вопрос к гуру:
Поможет ли тупое наращивание ОЗУ?
Сможет ли xsltproc использовать больше 4гб?
Сколько надо ОЗУ (грубо) для преобразования файла размером, допустим, 1Гб, результат примерно того же размера ?



------------------------------------------------------------
...
Рейтинг: 0 / 0
xsltproc 2,6+ Gb
    #39504164
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ящетаю, что разработчикам, позволяющим своим поделкам создавать xml такого объема, нужно ломать пальцы с особым чувством удовлетворения и радости.

кто-то тут уже парсил файлы такого объема, вроде успешно, поищи.
...
Рейтинг: 0 / 0
xsltproc 2,6+ Gb
    #39504419
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам не пробовал, но люди советуют STX . По идее, должно взлететь
...
Рейтинг: 0 / 0
xsltproc 2,6+ Gb
    #39504460
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jsmirnoww,

XSLT версий 1.0 и 2.0 действительно грузят всё (и xml, и xsl) целиком в память. Поэтому никак-с!

Нужен потоковый XSLT 3.0. Но лично я его не использовал.

Я парсил многогигабайтные файлы на C#, с помощью потокового XmlReader. Результат трансформации, соответственно, писался тоже потоковым XmlWriter. Летает!
...
Рейтинг: 0 / 0
xsltproc 2,6+ Gb
    #39504462
Фридрих
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jsmirnoww,

XSLT - это технология разрабатывалась не для больших документов, поэтому и грузит в память весь файл чтоб "бродить по дереву"...
пробуй XQuery - я по 40GB обрабатывал....
http://basex.org/
...
Рейтинг: 0 / 0
xsltproc 2,6+ Gb
    #39505605
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jsmirnoww,

еще один вариант - xmlsplit + sed
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xsltproc 2,6+ Gb
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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