2008-05-12

Do you need a quick XML persistence?

I have done a performance test of XML serialization on the latest version UJO Framework 0.74. The results are very positive especially in comparison with the speed of XML serialization (XMLEncoder, XMLDecoder) implemented in JRE 6.0.

Table of results:
ImplementationTime of
serialization
[sec]
Time of
deserialization
[sec]
Total
ratio

[%]
ArrayUjo0.3430.50018.5
MapUjo0.3440.53119.2
PojoUjo0.3830.51619.7
JavaBean3.8321.726100.0
JAXB 2.10,2030,48415,1

Environment: Windows XP, procesor Intel DuoCore 1.66 MHz, JRE 1.6.0_04.
Test description:
  • All business objects are the same type (in one test) and they have got a recursively hierarchy up to the fourth level
  • Each business object contains 11 attributes, including one relational type of ArrayList
  • The total number of business objects was 6000
  • Test was performed by class XmlSpeedTest2 (a second pass) of a group of JUnit tests included to the project
  • Published the results are an arithmetic mean of the values from four tests

Conclusion: The XML serialization implemented in UJO Framework is approximately five times faster in comparison with the XML persistence implemented in JRE 6.0. The UJO speed of serialization is slightly smaller than the speed of the great JAXB framwork. Any comments are welcome.

1 comment:

Anonymous said...

you need to test against jibx, javaolution, xstream, castor

old benchmark
https://bindmark.dev.java.net/old-index.html