Java:Zpracování XML souborů — rychlost čtení SAX versus DOM
Tomáš Kouba porovnal rychlost čtení XML dokumentu SAX vs. DOM
v prostředí platformy DOT.NET. Protože mě to zajímalo požádal jsem Tomáše Koubu o zdrojáky a testovací
XML soubory a přepsal jsem jeho test do Javy.
Výsledky nebyly nijak překvapivé, s rostoucí velikostí XML souboru narůstala rychlost
zpracování ve prospěch SAX zpracování. S lokálním souborem byl rozdíl při 10000 uzlech
přibližně trojnásobný.
| Počet uzlů | DOM local(ms) | DOM remote(ms) | SAX local(ms) | SAX remote(ms) |
|---|---|---|---|---|
| 100 | 233 | 273 | 153 | 203 |
| 1000 | 517 | 828 | 270 | 571 |
| 10000 | 2223 | 5217 | 737 | 3688 |
Výše uvedené hodnoty jsem naměřil pod OS Windows 2000 na JRE 1.4.2-b28
(standardní JAXP).
Z praktického hlediska je práce s objektovou strukturou, kterou poskytuje rozhraní DOM
mnohem snazší. Pokud není rychlost zpracování XML stěžejní, pak doporučuji použít DOM.
Cílem tohoto měření nebylo porovnat SAX DOM .NET vs. SAX DOM Javy. Zmínil bych dva
rozdíly, zatímco .NET XML parser ignoruje whitespaces, javovský XML parser to standardně
neděla.
Náměty pro další zkoumání bych hledal ve složitější struktuře zpracovávaného
XML dokumentu a z hlediska Javy v použití novějších verzi Xalanu (Xercesu) případně
jiných XML parseru.
Verze na Medium · Archiv původní stránky
Související články
Související epizody CZ Podcastu
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi a Filemon o novinkách v Javě 6 a webových frameworcích.
- #1 · Vývojová prostředí v Javě
První díl CZ Podcastu se věnuje vývojovým prostředím pro Javu.