Performance is a crucial part for every application. (De)serialization often becomes a bottleneck in today's applications.
cedarsoft Serialization is designed to contain nearly no overhead. Therefore performance is as good as the backend implementations. There exist several implementations for XML based backends. For best performance it is recommended to use a Stax based serializer.
XML is very commonly used for (de)serialization. Unfortunately XML is not optimized for performance because it contains much overhead. But since it is so wide used, there exist really fast implementations for parsing and writing. cedarsoft Serialization uses those fast implementations to provide the best performance possible.
You can find many, many XML parsing benchmarks in the web. And you can find much more discussions about the validity of them. We don't want to repeat that discussion here. This list should just give you a hint about the relative performance. For performance critical parts, there should be done a specific benchmark that represents the real world environment as good as possible.
Stax is the up-to-date XML parser API provided by JDK 6. This API is a step forward. There are plenty of implementations.
Comparison of Stax implementations:
This library is mentioned here, because the performance looks very promising (about 20% faster than Woodstox!). So if performance really becomes a problem, this might be worth a look.
XStream is a completely different approach for serializing objects. XStream uses reflection to "magically" (de)serialize your business objects. And it does a good job.
But of course reflection has its price. Therefore XStream based serialization reaches about 10% of the performance when using cedarsoft Serialization based implementations with Stax/Woodstox.
The main disadvantage of XStream is the missing support for different format versions and therefore the lack of needed flexibility.
Simple XML serialization is a quite new player in the serializers world. It is based on annotations (and reflection). So yes - it is simple (but pollutes your code with annotations).
The performance is quite good. It is twice as fast as XStream. But of course reflection takes its time. So we get around 20% of the performance of cedarsoft Serialization and Stax/Woodstox.