
I've written a test program to compare the time required by boost serialization to the time required by using stream i/o to do a similar operation. I've only used VC 7.1 (release mode) and my focus has been to try to determine how much overhead the serialization system adds compared to the alternative of not using it. The test consists for saving/loading 1000 instances of a class which includes all primitive types (? about 20 members including strings). Times are calculated by dividing the total time by 1000 to give ms / operaton.
These preliminary results don't raise any major red flags.
Just to reiterate my experience of profiling boost::serialization loading under vtune (I cannot recommend this enough for serious performance analysis) using one of our real data files for testing (weighs in at > 100mb and thousands of individual instances of objects) that the major bottleneck was strcmp caused by the type_id compare looking up the per type information used for tracking and the such. This outweighed everything else by a wide margin. I can dig up the details if your interested and up some point I will need to look at this again and try and optimise it. This was using 1.32.0 so take the above with a grain of salt *if* this area has changed significantly. Martin -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.362 / Virus Database: 267.12.8/165 - Release Date: 9/11/2005