Data-Serializer reviews

cpanratings
 

RSS | Module Info | Add a review of Data-Serializer

Data-Serializer (0.49) ****

Having a unified way to use all the different serializers available for perl is a good thing and on top of this Data::Serializer even adds some interesting value adding features like compression, encryption and simple file handling.

If I discovered Data::Serializer during my normal development work I would have been a bit surprised that the default isn't just to wrap the underlying serializer but to encode the serialized string as a hex value and add some metadata to it.

I would really prefer having the raw serializer as default and then being able to add extra features as needed. At least I think that the documentation should state this more clearly in the leading paragraphs of the Description.

Everything comes at a price. I'm a bit surprised by the overhead of Data::Serializer. I have tested using a development version of Benchmark::Serialize (to be uploaded as version 0.8) and a home made bridge to JSON::XS

With a 60Kb json structure the default setting of Data::Serialize is 5 times slower the using JSON::XS directly for serialization and half the speed for deserilization. For smaller structures this difference gets even larger.

Using the raw-setting gives a overhead of 19% for serialization and 8% for deserialization for the same structure. With very small structures (like '{ a => 1 }') the overhead is 1000%.

This price might be acceptable if you only use serialization once in a larger process or if you need the added features. But as a naive drop-in wrapper in a project where you make heavy use of serialization of small objects it might not be acceptable.

As always, benchmarking is important and remember to use data relevant for you own use case.

Data-Serializer (0.44) *****

I used 0.43 and found everything to be easy to use except that retrieve didn't work for data that had just been stored with XML::Dumper. I reported this to Niel Neely, the maintainer and he promptly fixed it by adding the raw parameter. Now 0.44 works as expected, is just as easy to use as before, the documentation is easy to follow and the interface put things where I'd expect them. All 5's from me for the module as well as the maintainer!

Data-Serializer (0.28) *****

intelligent umbrella to many cpan modules. takes burdon. is easy.