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.

UJO Framework verze 0.73.final

Dnes byla uvolněna další verze projektu UJO Framework, soubory jsou ke stažení na SourceForge, změny jsou následující:

  • vybrané property UJO objektu lze exportovat do XML souboru jako atributy. Pro toto použití lze property označit například pomocí anotací
  • ladění výkonu perzistence do XML
  • doplnění a oprava dokumentace