2008-04-14

Potřebujete rychlou XML perzistenci ?

Na poslední verzi UJO Frameworku (0.73) jsem provedl rychlostní testy zápisu do formátu XML včetně zpětného obnovení objektů. Výsledky jsou velice příznivé zejména ve srovnání s rychlostí XML serializace (XMLEncoder, XMLDecoder) implementované v JRE 6.0.

Tabulka výsledků:
Implementace Rychlost serializace [sec] Rychlost deserializace [sec] Poměr celkem [%]
MapUjo 1,352 0,563 32,5
ArrayUjo 1,340 0,535 31,8
JavaBean 3,828 2,063 100

Prostředí: Windows XP, procesor Intel DuoCore 1.66 MHz, JRE 1.6.0_04.
Popis testu:
  • všechny business objekty jsou stejného typu (v rámci jednoho testu) a jsou rekurzivně sestavené vždy maximálně do čtvrté úrovně
  • každý business objekt obsahuje 11 atributů včetně jednoho relačního typu ArrayList
  • celkový počet instancí business objektu 6000
  • test byl proveden třídou XmlSpeedTest2 (druhý průchod) ze skupiny JUnit testů připojených k projektu
  • zveřejněné výsledky jsou aritmetickým průměrem hodnot ze čtyř pokusů

Závěr: XML perzistence implementovaná v UJO Frameworku je přibližně třikrát rychlejší ve srovnání s XML perzistencí implementovanou v JRE 6.0. Všechny připomínky vítám.

3 komentáře:

Tomas Vitek řekl(a)...

Dobrý den, chtěl jsem se zeptat, jestli jste testoval rychlost zápisu pomocí JAXB. V některé knížce jsem četl, že by JAXB měl být rychlejší než XMLEncoder.

PPonec řekl(a)...

Díky za tip, podívám se na to v nějakém dalśím testu.

PPonec řekl(a)...

Srovnání rychlosti s JAXB 2.1 je v dokumentaci nové verze UJO .