powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / xml процессоры и их производительность.
25 сообщений из 63, страница 1 из 3
xml процессоры и их производительность.
    #37619842
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.

Я как бы только начинаю изучать xml, и пробую всякие примеры с и-нета.
Столкнулся с такой проблемой:
Вот исходник ...
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
import java.io.File;
import java.io.StringWriter;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

public class Test {


	public static void main(String[] args) throws TransformerException {
		long start = System.currentTimeMillis();
		//System.setProperty("javax.xml.transform.TransformerFactory", "org.apache.xalan.processor.TransformerFactoryImpl");
		
		Source xmlSource = new StreamSource(new File("test.xml"));
        Source xslSource = new StreamSource(new File("test.xsl"));
        
        TransformerFactory tFactory = TransformerFactory.newInstance();
        Transformer transformer = tFactory.newTransformer(xslSource);
        
        String str = null;
        StringWriter writer = new StringWriter();
        transformer.transform(xmlSource, new StreamResult("new.html"));
        //transformer.transform(xmlSource, new StreamResult(writer));
        //System.out.println(writer.toString().trim());
        long stop = System.currentTimeMillis();
        System.out.println((stop - start) / 1000.0+" ms.");
			
	}
}


Ничего особого. Задача трансформировать test.xml в new.html с используя test.xsl.
Тут все ясно.
test.xml файл не большой, и рун дал 0.226 ms. Я так понимаю, что в NetBeans-е, как и в Eclipse-е есть включенный xml процессор.

Затем я стал искать альтернативные xml процессоры. Тут самое интересное и началось.
Прочитал, что хвалят (по производительности и популярности) Saxon и Xalan.
Попробовал подключить Xalan , тест дал 0.563 ms.
А Saxon-HE дал васче 1.373 ms.

Это мало похоже на прирост производительности.

Прощу разъяснить всем сей трабл.
И, по возможности, киньте ссылку на правильную статью
с примерами в этом направлении.

За ранее спасибо.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37619890
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, замер не учитывает JIT компиляции. После "разогрева" кода, производительность станет намного выше.
Во-вторых, меряйте время работы только transformer.transform(). Скорость инициализации, ведь, не на столько важна. Объекты можно переиспользовать и кешировать.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37619901
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про Saxon пишут что там используется генерация байткода. Так что первый запуск будет очень долгим.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37619965
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczВо-первых, замер не учитывает JIT компиляции. После "разогрева" кода, производительность станет намного выше.
Во-вторых, меряйте время работы только transformer.transform(). Скорость инициализации, ведь, не на столько важна. Объекты можно переиспользовать и кешировать.
А жизнь то налаживается ;-) У веровал, попробовал замерить только transformer.transform().
И Xalan дал 0.082 ms. - 0.096 ms.
А Saxon-HE дал 0.049 ms. - 0.055 ms.

Спасибо Blazkowicz . Saxon-HE рулит.
Жаль по его поводу мало понятноваримых примеров.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620161
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HunterNomadBlazkowiczВо-первых, замер не учитывает JIT компиляции. После "разогрева" кода, производительность станет намного выше.
Во-вторых, меряйте время работы только transformer.transform(). Скорость инициализации, ведь, не на столько важна. Объекты можно переиспользовать и кешировать.
А жизнь то налаживается ;-) У веровал, попробовал замерить только transformer.transform().
И Xalan дал 0.082 ms. - 0.096 ms.
А Saxon-HE дал 0.049 ms. - 0.055 ms.

Спасибо Blazkowicz . Saxon-HE рулит.
Жаль по его поводу мало понятноваримых примеров.

вот так. Взял и всё одним тестом выяснил. На одном файле.

Вероятно скорость будет очень сильно различаться на разных по структуре данных.

ХМЛ сам по себе это лишние расходы. Во многих случаях его можно заменить плоским текстом.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620244
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024ХМЛ сам по себе это лишние расходы. Во многих случаях его можно заменить плоским текстом. XML уже является плоским текстом Хватит, остановись.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620257
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom1024ХМЛ сам по себе это лишние расходы. Во многих случаях его можно заменить плоским текстом. XML уже является плоским текстом Хватит, остановись.

и что. Парсер-то его интерпретирует как дерево (либо как поток тегов в случает SAX).
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620266
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024svenomпропущено...
XML уже является плоским текстом Хватит, остановись.
и что. Парсер-то его интерпретирует как дерево (либо как поток тегов в случает SAX).Ну да. Так для того XML и был придуман - структурированное представление информации. Приведите пример, как вы сможете представить некую информацию в структурированном виде, используя "плоский текст"(с).
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620273
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну например вот это обсуждение можно представить как плоский текст. Почтовые протоколы гоняют письма как плоский текст. И объёмы там не маленькие.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620292
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024ну например вот это обсуждение можно представить как плоский текст. Почтовые протоколы гоняют письма как плоский текст. И объёмы там не маленькие.Круто, опишите пожалуйста ваше сообщение через плоский текст - кто отправил, заголовок, тело сообщения, кол-во сообщений.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620296
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenom1024ну например вот это обсуждение можно представить как плоский текст. Почтовые протоколы гоняют письма как плоский текст. И объёмы там не маленькие.Круто, опишите пожалуйста ваше сообщение через плоский текст - кто отправил, заголовок, тело сообщения, кол-во сообщений.

если ты не понимаешь как написать сообщение текстом то тебе за учебники. Если ты хочешь посраться то тебе в ПТ.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620350
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024ХМЛ сам по себе это лишние расходы. Во многих случаях его можно заменить плоским текстом.
Что есть "плоский" текст? Я так понимаю, в XML он рельефный или еще какой?
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620373
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidv1024ХМЛ сам по себе это лишние расходы. Во многих случаях его можно заменить плоским текстом.
Что есть "плоский" текст? Я так понимаю, в XML он рельефный или еще какой?Скорее всего, человек не понимает для чего вообще нужен XML.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620401
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomLeonidvпропущено...

Что есть "плоский" текст? Я так понимаю, в XML он рельефный или еще какой?Скорее всего, человек не понимает для чего вообще нужен XML.

а ты понимаешь?

Это просто стандарт. Все парсеры отвечающие стандарту могут прочитать данные из хмл (также отвечающего стандарту). Сгенерить на жабе и прочитать в пхп или ц-диез. И наоборот. Но про производительность в описании стандарта ничего нет.

Вот это и есть то для чего хмл придумали. Стандартизация это благо. Как контр пример можно посмотреть на формат вордовых документов - их можно открыть в опенофисе но что-то может не прочитаться. Это следствие на отсутствие стандарта.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620428
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024svenomпропущено...
Скорее всего, человек не понимает для чего вообще нужен XML.

а ты понимаешь?

Это просто стандарт. Все парсеры отвечающие стандарту могут прочитать данные из хмл (также отвечающего стандарту). Сгенерить на жабе и прочитать в пхп или ц-диез. И наоборот. Но про производительность в описании стандарта ничего нет.

Вот это и есть то для чего хмл придумали. Стандартизация это благо. Как контр пример можно посмотреть на формат вордовых документов - их можно открыть в опенофисе но что-то может не прочитаться. Это следствие на отсутствие стандарта.
"Для чего" И "Что это " - это две больших разДници. Прошу прощение за каламбур.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620444
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HunterNomad1024пропущено...


а ты понимаешь?

Это просто стандарт. Все парсеры отвечающие стандарту могут прочитать данные из хмл (также отвечающего стандарту). Сгенерить на жабе и прочитать в пхп или ц-диез. И наоборот. Но про производительность в описании стандарта ничего нет.

Вот это и есть то для чего хмл придумали. Стандартизация это благо. Как контр пример можно посмотреть на формат вордовых документов - их можно открыть в опенофисе но что-то может не прочитаться. Это следствие на отсутствие стандарта.
"Для чего" И "Что это " - это две больших разДници. Прошу прощение за каламбур.

для чего нужна стандартизация явно описано - для обмена данными между разнородными системами. И пример приведён. По-моему в технических учебных заведениях даже предмет такой есть - Стандартизация.
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620465
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, svenom!

> Ну да. Так для того XML и был придуман - структурированное представление
> информации. Приведите пример, как вы сможете представить некую
> информацию в структурированном виде, используя "плоский текст"(с).

Код: sql
1.
2.
3.
4.
5.
6.
<elem>
  <field1>text1</field1>
</elem>
<elem>
  <field1>text2</field1>
</elem>



Заменить на
Код: sql
1.
2.
elem#0.field1#0=text1
elem#1.field1#0=text2



Вопрос надо ли...

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620477
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЗаменить на

elem#0.field1#0=text1
elem#1.field1#0=text2


Тогда уж так)
автор[0][0]=text1
[1][0]=text1
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620494
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
развели на ровном месте про формат файла
Дерево <> плоский
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620523
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ежу понятно, то это
Код: xml
1.
2.
3.
4.
5.
6.
<elem>
  <field1>text1</field1>
</elem>
<elem>
  <field1>text2</field1>
</elem>



проще для понимания чем это

Код: xml
1.
2.
elem#0.field1#0=text1
elem#1.field1#0=text2
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620531
GKS_Samara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, HunterNomad!

> И ежу понятно, то это
....
> проще для понимания чем это
....

Самое главное, что поймёт это любая (почти) программа. За что xml и любим.

--
Алексей
JID: alxt@ya.ru
Posted
via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620561
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дак ещё проще в csv )
text1
text2
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620569
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraСамое главное, что поймёт это любая (почти) программа. За что xml и любим.
ради справедливости:
- в вебе НЕ любят за тормознутость (сабж), поэтому появилось куча АНТИформатов (ГИС\...)
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620572
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правда у него трансформация, поэтому не к месту :))
...
Рейтинг: 0 / 0
xml процессоры и их производительность.
    #37620577
HunterNomad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GKS_SamaraДобрый день, HunterNomad!

> И ежу понятно, то это
....
> проще для понимания чем это
....

Самое главное, что поймёт это любая (почти) программа. За что xml и любим.

--
Алексей
JID: alxt@ya.ru

Отож.
Хотя можно и такому
Код: xml
1.
2.
elem#0.field1#0=text1
elem#1.field1#0=text2


любую (почти) программу понимать научить. Просто, это мое сугубо мнение, xml более понятен человеку. Зыркнул на текст и понятно кто под кем и кого за чем.
Жаль, что все же производительность из (xml примочек(XQuery, xmlProcessor ... )) в разы уступает sql. Понятно, что рост производительности железа рано или поздно их уравняет, но а пока и так сойдет.
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 1 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / xml процессоры и их производительность.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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